{
  "openapi": "3.0.0",
  "info": {
    "title": "API Ninjas",
    "description": "Combined OpenAPI specification for every API Ninjas endpoint. Requests go to https://api.api-ninjas.com with an `X-Api-Key` header; get a free key at https://api-ninjas.com/register. Human-readable docs: https://api-ninjas.com/api. Index for LLMs: https://api-ninjas.com/llms.txt.",
    "version": "1.0.0",
    "contact": {
      "name": "API Ninjas",
      "url": "https://api-ninjas.com"
    },
    "license": {
      "name": "Proprietary"
    }
  },
  "externalDocs": {
    "description": "API Ninjas documentation",
    "url": "https://api-ninjas.com/api"
  },
  "servers": [
    {
      "url": "https://api.api-ninjas.com",
      "description": "API Ninjas Production"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key"
      }
    },
    "schemas": {
      "AirQualityResponse": {
        "type": "object",
        "properties": {
          "overall_aqi": {
            "type": "integer",
            "description": "Overall Air Quality Index."
          },
          "CO": {
            "$ref": "#/components/schemas/Pollutant"
          },
          "PM10": {
            "$ref": "#/components/schemas/Pollutant"
          },
          "SO2": {
            "$ref": "#/components/schemas/Pollutant"
          },
          "PM2.5": {
            "$ref": "#/components/schemas/Pollutant"
          },
          "O3": {
            "$ref": "#/components/schemas/Pollutant"
          },
          "NO2": {
            "$ref": "#/components/schemas/Pollutant"
          }
        }
      },
      "Pollutant": {
        "type": "object",
        "properties": {
          "concentration": {
            "type": "number",
            "description": "Concentration of the pollutant in micrograms per cubic meter."
          },
          "aqi": {
            "type": "integer",
            "description": "Air Quality Index for the specific pollutant."
          }
        }
      },
      "AircraftResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "manufacturer": {
              "type": "string",
              "example": "Gulfstream Aerospace",
              "description": "Company that designed and built the aircraft."
            },
            "model": {
              "type": "string",
              "example": "G550",
              "description": "Aircraft model name."
            },
            "notes": {
              "type": "string",
              "example": "prior '79 serv. ceiling=29,100",
              "description": "Variant or spec remarks, when present (e.g. serial ranges or model-year differences)."
            },
            "icao_type": {
              "type": "string",
              "example": "GLF5",
              "description": "ICAO aircraft type designator."
            },
            "iata_types": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "320",
                "32A"
              ],
              "description": "IATA aircraft type codes for this ICAO type, when assigned (e.g. 320 and 32A for the A320)."
            },
            "aircraft_class": {
              "type": "string",
              "example": "Fixed-wing Landplane",
              "description": "Fixed-wing Landplane, Fixed-wing Amphibian, Fixed-wing Seaplane, Helicopter, Gyroplane or Powered-lift."
            },
            "engine_count": {
              "type": "integer",
              "example": 2,
              "description": "Number of engines."
            },
            "engine_type": {
              "type": "string",
              "example": "Jet",
              "description": "Type of engine: Jet, Propjet or Piston (Turboshaft, Electric or Rocket for some type-only records)."
            },
            "engine_horsepower": {
              "type": "string",
              "description": "Horsepower per engine (piston and propjet aircraft).",
              "example": "285"
            },
            "engine_thrust_lbf": {
              "type": "string",
              "example": "15385",
              "description": "Thrust per engine in pounds-force (jet aircraft)."
            },
            "engine_thrust_lb_ft": {
              "type": "string",
              "example": "15385",
              "description": "Deprecated: horsepower for piston and propjet aircraft, pounds of thrust for jets. Use engine_horsepower or engine_thrust_lbf."
            },
            "max_speed_knots": {
              "type": "string",
              "example": "590",
              "description": "Maximum air speed in knots."
            },
            "cruise_speed_knots": {
              "type": "string",
              "example": "566",
              "description": "Cruise speed in knots."
            },
            "stall_knots": {
              "type": "string",
              "description": "Stall speed in knots."
            },
            "ceiling_ft": {
              "type": "string",
              "example": "51000",
              "description": "Service ceiling in feet."
            },
            "rate_of_climb_ft_per_min": {
              "type": "string",
              "description": "Rate of climb in feet per minute."
            },
            "takeoff_over_50ft_ft": {
              "type": "string",
              "description": "Takeoff distance over a 50 ft obstacle, in feet."
            },
            "takeoff_ground_run_ft": {
              "type": "string",
              "example": "5910",
              "description": "Takeoff ground run distance in feet."
            },
            "landing_over_50ft_ft": {
              "type": "string",
              "description": "Landing distance over a 50 ft obstacle, in feet."
            },
            "landing_ground_roll_ft": {
              "type": "string",
              "example": "2770",
              "description": "Landing ground roll distance in feet."
            },
            "gross_weight_lbs": {
              "type": "string",
              "example": "91000",
              "description": "Gross (maximum takeoff) weight in pounds."
            },
            "empty_weight_lbs": {
              "type": "string",
              "example": "47900",
              "description": "Empty weight in pounds."
            },
            "length_ft": {
              "type": "string",
              "example": "96.417",
              "description": "Length in feet."
            },
            "height_ft": {
              "type": "string",
              "example": "25.833",
              "description": "Height in feet."
            },
            "wing_span_ft": {
              "type": "string",
              "example": "93.5",
              "description": "Wingspan in feet."
            },
            "range_nautical_miles": {
              "type": "string",
              "example": "6750",
              "description": "Range in nautical miles."
            },
            "faa_weight_class": {
              "type": "string",
              "example": "Large",
              "description": "FAA weight class: Small, Small+, Large, Heavy or Super."
            },
            "icao_wake_category": {
              "type": "string",
              "example": "Medium",
              "description": "ICAO wake turbulence category: Light, Medium, Heavy or Super."
            },
            "faa_cwt_category": {
              "type": "string",
              "example": "F",
              "description": "FAA consolidated wake turbulence (CWT) category, A to I."
            }
          }
        }
      },
      "Airline": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Airline name."
          },
          "country": {
            "type": "string",
            "description": "Country where the airline is based."
          },
          "year_created": {
            "type": "string",
            "description": "Year the airline was founded or created."
          },
          "base": {
            "type": "string",
            "description": "Base airport or hub."
          },
          "iata": {
            "type": "string",
            "description": "2-character IATA airline code."
          },
          "icao": {
            "type": "string",
            "description": "3-character ICAO airline code."
          },
          "fleet": {
            "type": "object",
            "description": "Object containing fleet information with aircraft type codes as keys and counts as values, plus a total field.",
            "properties": {
              "total": {
                "type": "integer",
                "description": "Total number of aircraft in the fleet."
              }
            },
            "additionalProperties": {
              "type": "integer"
            }
          },
          "logo_url": {
            "type": "string",
            "description": "URL to the airline's full logo image."
          },
          "brandmark_url": {
            "type": "string",
            "description": "URL to the airline's brandmark image."
          },
          "tail_logo_url": {
            "type": "string",
            "description": "URL to the airline's tail logo image."
          }
        }
      },
      "Airport": {
        "type": "object",
        "properties": {
          "icao": {
            "type": "string",
            "description": "International Civil Aviation Organization (ICAO) 4-character airport code."
          },
          "iata": {
            "type": "string",
            "description": "International Air Transport Association (IATA) 3-character airport code."
          },
          "name": {
            "type": "string",
            "description": "Airport name."
          },
          "city": {
            "type": "string",
            "description": "Airport city."
          },
          "region": {
            "type": "string",
            "description": "Administrative region such as state or province within a country."
          },
          "country": {
            "type": "string",
            "description": "Airport country. Must be 2-character ISO-2 country code."
          },
          "elevation_ft": {
            "type": "integer",
            "description": "Airport elevation in feet."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude of the airport."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude of the airport."
          },
          "timezone": {
            "type": "string",
            "description": "Airport timezone."
          },
          "size": {
            "type": "string",
            "description": "Airport size.",
            "enum": [
              "large",
              "medium",
              "small"
            ]
          },
          "num_runways": {
            "type": "integer",
            "description": "Number of runways at the airport."
          },
          "runways": {
            "type": "array",
            "description": "Array of runway objects.",
            "items": {
              "$ref": "#/components/schemas/Runway"
            }
          }
        }
      },
      "Runway": {
        "type": "object",
        "properties": {
          "length": {
            "type": "integer",
            "description": "Runway length in feet."
          },
          "width": {
            "type": "integer",
            "description": "Runway width in feet."
          },
          "has_lights": {
            "type": "boolean",
            "description": "Whether the runway has lights."
          }
        }
      },
      "AirportConvert": {
        "type": "object",
        "properties": {
          "icao": {
            "type": "string",
            "description": "International Civil Aviation Organization (ICAO) 4-character airport code."
          },
          "iata": {
            "type": "string",
            "description": "International Air Transport Association (IATA) 3-character airport code."
          },
          "name": {
            "type": "string",
            "description": "Airport name."
          },
          "city": {
            "type": "string",
            "description": "Airport city."
          },
          "region": {
            "type": "string",
            "description": "Administrative region such as state or province within a country."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          },
          "elevation_ft": {
            "type": "integer",
            "description": "Airport elevation in feet."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude of the airport."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude of the airport."
          },
          "timezone": {
            "type": "string",
            "description": "Airport timezone."
          },
          "size": {
            "type": "string",
            "description": "Airport size.",
            "enum": [
              "large",
              "medium",
              "small"
            ]
          }
        }
      },
      "AirportDistance": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Origin airport code as provided in the request (uppercased)."
          },
          "to": {
            "type": "string",
            "description": "Destination airport code as provided in the request (uppercased)."
          },
          "distance": {
            "type": "number",
            "format": "double",
            "description": "Great-circle distance in the requested units."
          },
          "bearing_initial": {
            "type": "number",
            "format": "double",
            "description": "Initial bearing from origin to destination, in degrees true (0-360)."
          },
          "unit": {
            "type": "string",
            "description": "Units used for the distance field.",
            "enum": [
              "km",
              "mi",
              "nm"
            ]
          },
          "estimated_flight_time_minutes": {
            "type": "integer",
            "description": "Approximate total flight time in minutes, assuming an 800 km/h cruise plus 30 minutes of ground/climb/descent overhead."
          }
        }
      },
      "AirportSuggestItem": {
        "type": "object",
        "properties": {
          "icao": {
            "type": "string",
            "description": "International Civil Aviation Organization (ICAO) 4-character airport code."
          },
          "iata": {
            "type": "string",
            "description": "International Air Transport Association (IATA) 3-character airport code."
          },
          "name": {
            "type": "string",
            "description": "Airport name."
          },
          "city": {
            "type": "string",
            "description": "Airport city."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          },
          "size": {
            "type": "string",
            "description": "Airport size.",
            "enum": [
              "large",
              "medium",
              "small"
            ]
          }
        }
      },
      "ClosestAirport": {
        "type": "object",
        "properties": {
          "icao": {
            "type": "string",
            "description": "International Civil Aviation Organization (ICAO) 4-character airport code."
          },
          "iata": {
            "type": "string",
            "description": "International Air Transport Association (IATA) 3-character airport code."
          },
          "name": {
            "type": "string",
            "description": "Airport name."
          },
          "city": {
            "type": "string",
            "description": "Airport city."
          },
          "region": {
            "type": "string",
            "description": "Administrative region such as state or province within a country."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          },
          "elevation_ft": {
            "type": "integer",
            "description": "Airport elevation in feet."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude of the airport."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude of the airport."
          },
          "timezone": {
            "type": "string",
            "description": "Airport timezone."
          },
          "size": {
            "type": "string",
            "description": "Airport size.",
            "enum": [
              "large",
              "medium",
              "small"
            ]
          },
          "distance": {
            "type": "number",
            "format": "double",
            "description": "Great-circle distance from the requested coordinate, in the requested units."
          },
          "bearing": {
            "type": "number",
            "format": "double",
            "description": "Initial bearing from the requested coordinate to the airport, in degrees true (0-360)."
          },
          "distance_unit": {
            "type": "string",
            "description": "Units used for the distance field.",
            "enum": [
              "km",
              "mi"
            ]
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message."
          }
        }
      },
      "AnalyticsResponse": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string",
            "example": "YOUR_API_KEY"
          },
          "account_creation_date": {
            "type": "string",
            "format": "date",
            "example": "2024-01-15"
          },
          "subscription_tier": {
            "type": "string",
            "example": "Business"
          },
          "subscription_period": {
            "type": "string",
            "enum": [
              "month",
              "year"
            ],
            "example": "month"
          },
          "api_reset_date": {
            "type": "string",
            "format": "date",
            "example": "2024-12-01"
          },
          "current_month_usage": {
            "type": "integer",
            "example": 45230
          },
          "api_call_history": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "integer"
              }
            },
            "example": {
              "2024-11-15": {
                "Cars": 125,
                "Quotes": 89,
                "Weather": 234
              },
              "2024-11-14": {
                "Celebrity": 45,
                "Nutrition": 156,
                "Quotes": 78
              }
            }
          }
        }
      },
      "AnalyticsOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "Animal": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Common name of the animal."
          },
          "taxonomy": {
            "type": "object",
            "properties": {
              "kingdom": {
                "type": "string"
              },
              "phylum": {
                "type": "string"
              },
              "class": {
                "type": "string"
              },
              "order": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "genus": {
                "type": "string"
              },
              "scientific_name": {
                "type": "string"
              }
            }
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "characteristics": {
            "type": "object",
            "properties": {
              "prey": {
                "type": "string"
              },
              "name_of_young": {
                "type": "string"
              },
              "group_behavior": {
                "type": "string"
              },
              "estimated_population_size": {
                "type": "string"
              },
              "biggest_threat": {
                "type": "string"
              },
              "most_distinctive_feature": {
                "type": "string"
              },
              "gestation_period": {
                "type": "string"
              },
              "habitat": {
                "type": "string"
              },
              "diet": {
                "type": "string"
              },
              "average_litter_size": {
                "type": "string"
              },
              "lifestyle": {
                "type": "string"
              },
              "common_name": {
                "type": "string"
              },
              "number_of_species": {
                "type": "string"
              },
              "location": {
                "type": "string"
              },
              "slogan": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "color": {
                "type": "string"
              },
              "skin_type": {
                "type": "string"
              },
              "top_speed": {
                "type": "string"
              },
              "lifespan": {
                "type": "string"
              },
              "weight": {
                "type": "string"
              },
              "height": {
                "type": "string"
              },
              "age_of_sexual_maturity": {
                "type": "string"
              },
              "age_of_weaning": {
                "type": "string"
              }
            }
          }
        }
      },
      "BabyNamesResponse": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "An array of baby names."
      },
      "BabyNamesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "BalanceSheetResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company filing information including ticker, CIK, company name, fiscal year, and fiscal quarter.",
            "properties": {
              "ticker": {
                "type": "string",
                "example": "ADBE"
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "fiscal_year": {
                "type": "integer",
                "example": 2025
              },
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "fiscal_quarter": {
                "type": "integer",
                "example": 2
              }
            }
          },
          "balance_sheet": {
            "type": "object",
            "description": "Balance sheet figures in whole U.S. dollars.",
            "properties": {
              "total_assets": {
                "type": "integer",
                "example": 28107000000
              },
              "current_assets": {
                "type": "integer",
                "example": 8978000000
              },
              "cash_and_equivalents": {
                "type": "integer",
                "example": 4931000000
              },
              "accounts_receivable": {
                "type": "integer",
                "example": 1735000000
              },
              "inventory": {
                "type": "integer",
                "nullable": true,
                "example": null
              },
              "property_plant_equipment": {
                "type": "integer",
                "example": 1890000000
              },
              "intangible_assets": {
                "type": "integer",
                "example": 631000000
              },
              "goodwill": {
                "type": "integer",
                "example": 12830000000
              },
              "total_liabilities": {
                "type": "integer",
                "example": 16659000000
              },
              "current_liabilities": {
                "type": "integer",
                "example": 9039000000
              },
              "accounts_payable": {
                "type": "integer",
                "example": 360000000
              },
              "long_term_debt": {
                "type": "integer",
                "example": 6166000000
              },
              "total_debt": {
                "type": "integer",
                "example": 6166000000
              },
              "stockholders_equity": {
                "type": "integer",
                "example": 11448000000
              },
              "retained_earnings": {
                "type": "integer",
                "example": 41744000000
              },
              "working_capital": {
                "type": "integer",
                "nullable": true,
                "example": -607100000
              }
            }
          },
          "filing_info": {
            "type": "object",
            "description": "SEC filing metadata including filing type, filing date, and period end date.",
            "properties": {
              "filing_type": {
                "type": "string",
                "example": "10-Q"
              },
              "filing_date": {
                "type": "string",
                "example": "2025-06-25"
              },
              "period_end_date": {
                "type": "string",
                "example": "2025-05-30"
              }
            }
          }
        }
      },
      "BalanceSheetAvailabilityResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company identity: ticker, CIK, and company name.",
            "properties": {
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "ticker": {
                "type": "string",
                "example": "ADBE"
              }
            }
          },
          "available_periods": {
            "type": "array",
            "description": "Fiscal years (newest first) and the periods within each that have balance sheet data.",
            "items": {
              "type": "object",
              "properties": {
                "year": {
                  "type": "integer",
                  "example": 2024
                },
                "periods": {
                  "type": "array",
                  "description": "Available fiscal periods for the year: q1-q4 and fy (full year).",
                  "items": {
                    "type": "string",
                    "enum": [
                      "q1",
                      "q2",
                      "q3",
                      "q4",
                      "fy"
                    ]
                  },
                  "example": [
                    "q1",
                    "q2",
                    "q3",
                    "q4",
                    "fy"
                  ]
                }
              }
            }
          }
        }
      },
      "BankHoliday": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the bank holiday."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date of the bank holiday in YYYY-MM-DD format."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO 3166 alpha-2 country code."
          },
          "year": {
            "type": "integer",
            "description": "The year for which the bank holiday is observed."
          }
        }
      },
      "IsBankHolidayResult": {
        "type": "object",
        "properties": {
          "is_bank_holiday": {
            "type": "boolean",
            "description": "Whether the date is a bank holiday in the specified country."
          },
          "holiday_name": {
            "type": "string",
            "description": "Name of the bank holiday. Only present when is_bank_holiday is true."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date in YYYY-MM-DD format."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO 3166 alpha-2 country code."
          }
        }
      },
      "BINLookupItem": {
        "type": "object",
        "properties": {
          "bin": {
            "type": "string",
            "description": "The Bank Identification Number that was looked up."
          },
          "brand": {
            "type": "string",
            "nullable": true,
            "description": "Card brand (e.g., Visa, Mastercard, American Express). Premium only."
          },
          "type": {
            "type": "string",
            "nullable": true,
            "description": "Card type, e.g., credit or debit. Premium only."
          },
          "categories": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string",
              "description": "Category tag such as prepaid, credit, debit, charge, atm, personal, business, corporate, government, basic, mid-tier, premium, luxury, virtual, travel, purchasing, fleet, gift, payroll, benefits, healthcare, rewards, agricultural, meal, proprietary, vpay, mixed."
            },
            "description": "Array of category tags for the card. Premium only."
          },
          "issuer": {
            "type": "string",
            "nullable": true,
            "description": "Name of the issuing bank or financial institution. Premium only."
          },
          "country_iso2": {
            "type": "string",
            "description": "Two-letter ISO country code of the issuing bank."
          },
          "country": {
            "type": "string",
            "description": "Full country name where the card was issued."
          },
          "is_valid": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the BIN is valid. Premium only."
          },
          "is_eu": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is an EU member state. Null when the country is unknown."
          },
          "is_eea": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the European Economic Area (the EU plus Iceland, Liechtenstein and Norway)."
          },
          "is_sepa": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the Single Euro Payments Area. SEPA is wider than the EU or the EEA: it also includes Switzerland, the United Kingdom, Monaco, San Marino, Andorra and Vatican City."
          }
        }
      },
      "BitcoinResponse": {
        "type": "object",
        "properties": {
          "price": {
            "type": "string",
            "description": "The price of Bitcoin in USD. Live on paid plans; on the free plan it is the close of the last completed hour."
          },
          "timestamp": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the moment the data was measured. On paid plans this is the moment the price was read. On the free plan it is the top of the current hour: the free tier updates once per hour, so every request within the same hour returns the same values and the same timestamp."
          },
          "24h_price_change": {
            "type": "string",
            "description": "The price change of Bitcoin in USD over the last 24 hours. On the free plan this is measured over the 24 completed hours ending at `timestamp`, rather than a live rolling window."
          },
          "24h_price_change_percent": {
            "type": "string",
            "description": "The price change percentage of Bitcoin over the last 24 hours. On the free plan this is measured over the 24 completed hours ending at `timestamp`, rather than a live rolling window."
          },
          "24h_high": {
            "type": "string",
            "description": "The highest price of Bitcoin in USD over the last 24 hours. On the free plan this is measured over the 24 completed hours ending at `timestamp`, rather than a live rolling window."
          },
          "24h_low": {
            "type": "string",
            "description": "The lowest price of Bitcoin in USD over the last 24 hours. On the free plan this is measured over the 24 completed hours ending at `timestamp`, rather than a live rolling window."
          },
          "24h_volume": {
            "type": "string",
            "description": "The volume of Bitcoin traded over the last 24 hours. On the free plan this is measured over the 24 completed hours ending at `timestamp`, rather than a live rolling window."
          }
        }
      },
      "BitcoinOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message detailing what went wrong."
          }
        }
      },
      "CryptoTreasuryResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoTreasuryPosition"
            }
          },
          "count": {
            "type": "integer",
            "description": "Number of results returned."
          },
          "data_last_refreshed": {
            "type": "integer",
            "description": "Unix timestamp of the last successful ingestion run."
          },
          "note": {
            "type": "string",
            "description": "Present when unverified filings were excluded."
          },
          "disclosure": {
            "$ref": "#/components/schemas/CryptoTreasuryDisclosure"
          },
          "upgrade_hint": {
            "type": "string",
            "description": "Present on the Free tier."
          }
        }
      },
      "CryptoTreasuryPosition": {
        "type": "object",
        "properties": {
          "entity_name": {
            "type": "string",
            "description": "Filer name as it appears in EDGAR."
          },
          "ticker": {
            "type": "string",
            "nullable": true,
            "description": "Stock ticker, or null for private filers."
          },
          "cik": {
            "type": "string",
            "description": "SEC Central Index Key, zero-padded to 10 digits."
          },
          "entity_type": {
            "type": "string",
            "description": "OPERATING, ETP or PRIVATE."
          },
          "asset": {
            "type": "string",
            "description": "Canonical asset name, e.g. BITCOIN."
          },
          "units": {
            "type": "number",
            "description": "Number of coins held at the period end."
          },
          "fair_value_usd": {
            "type": "number",
            "nullable": true,
            "description": "Value of THIS asset position. Null when the filer holds several assets and did not break the value out per asset; use entity_total_crypto_fair_value_usd instead."
          },
          "cost_usd": {
            "type": "number",
            "nullable": true,
            "description": "Cost basis as reported. Frequently absent from competing sources."
          },
          "entity_total_crypto_fair_value_usd": {
            "type": "number",
            "nullable": true,
            "description": "The filer's total crypto fair value across all assets."
          },
          "entity_holds_multiple_assets": {
            "type": "boolean",
            "description": "True when the filer reported more than one crypto asset for this period."
          },
          "period_end": {
            "type": "string",
            "description": "Reporting period end, YYYY-MM-DD. Positions are quarterly and may be materially stale."
          },
          "calendar_year": {
            "type": "integer",
            "nullable": true,
            "description": "Calendar year of the reporting period. Not the filer's fiscal year."
          },
          "calendar_quarter": {
            "type": "string",
            "nullable": true,
            "description": "Calendar quarter, Q1 to Q4. Not the filer's fiscal quarter."
          },
          "accession": {
            "type": "string",
            "nullable": true,
            "description": "SEC accession number of the source filing."
          },
          "sec_filing_url": {
            "type": "string",
            "nullable": true,
            "description": "Link to the source filing on EDGAR."
          },
          "attribution": {
            "$ref": "#/components/schemas/CryptoTreasuryAttribution"
          }
        }
      },
      "CryptoTreasuryAttribution": {
        "type": "object",
        "description": "How each figure was derived, so callers can audit rather than trust.",
        "properties": {
          "asset_source": {
            "type": "string",
            "description": "dimensional_member when the filing tagged the asset explicitly; unit_string when the XBRL unit named it; valuation_inference when identified by matching implied unit price to the period-end market close; unknown when undetermined."
          },
          "units_basis": {
            "type": "string",
            "description": "How overlapping unit facts were collapsed: single_fact, stated_total, undimensioned_total, summed_components, labelled_total or max_of_ambiguous."
          },
          "units_facts_reconciled": {
            "type": "integer",
            "description": "How many raw XBRL facts were reconciled into this figure."
          },
          "recovered_from_instance_document": {
            "type": "boolean",
            "description": "True when recovered by parsing the filing's XBRL instance because SEC's JSON APIs do not expose it."
          },
          "quality": {
            "type": "string",
            "description": "consistent, unverified, scale_suspect or inconsistent."
          },
          "implied_unit_price_usd": {
            "type": "number",
            "nullable": true,
            "description": "Reported fair value divided by reported units."
          },
          "market_price_at_period_end_usd": {
            "type": "number",
            "nullable": true,
            "description": "Market close for the asset on the period end date."
          },
          "warning": {
            "type": "string",
            "description": "Present when quality is scale_suspect or inconsistent."
          }
        }
      },
      "CryptoTreasuryDisclosure": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "license": {
            "type": "string",
            "description": "Grants storage, redistribution and commercial display."
          },
          "not_advice": {
            "type": "string"
          }
        }
      },
      "CryptoTreasuryOpenapi_Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "BranchInfo": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the bank. Premium only."
          },
          "bsb": {
            "type": "string",
            "description": "The 6-digit BSB number, hyphenated."
          },
          "branch_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the branch. Premium only."
          },
          "street_address": {
            "type": "string",
            "nullable": true,
            "description": "The street address of the branch. Premium only."
          },
          "suburb": {
            "type": "string",
            "description": "The suburb of the branch."
          },
          "state": {
            "type": "string",
            "description": "The Australian state or territory code (e.g. NSW, VIC, QLD)."
          },
          "postcode": {
            "type": "string",
            "description": "The 4-digit Australian postcode of the branch."
          },
          "country": {
            "type": "string",
            "description": "Always AU."
          },
          "phone_number": {
            "type": "string",
            "nullable": true,
            "description": "The customer service phone number of the bank. Premium only."
          },
          "direct_entry_supported": {
            "type": "boolean",
            "description": "Whether the branch supports Direct Entry (DE) payments - the Australian equivalent of ACH. Premium only."
          },
          "rtgs_supported": {
            "type": "boolean",
            "description": "Whether the branch supports RTGS (Real-Time Gross Settlement) wire transfers via RITS. Premium only."
          },
          "npp_supported": {
            "type": "boolean",
            "description": "Whether the branch supports the New Payments Platform (NPP) for instant payments and PayID. Premium only."
          },
          "swift_code": {
            "type": "string",
            "nullable": true,
            "description": "The SWIFT/BIC code of the bank, useful for international wire transfers. May be null if the bank does not participate in SWIFT. Premium only."
          }
        }
      },
      "CaloriesBurnedResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the activity."
            },
            "calories_per_hour": {
              "type": "integer",
              "description": "Calories burned per hour."
            },
            "duration_minutes": {
              "type": "integer",
              "description": "Duration of the activity in minutes."
            },
            "total_calories": {
              "type": "integer",
              "description": "Total calories burned."
            },
            "image_url": {
              "type": "string",
              "format": "uri",
              "description": "Photorealistic image of the activity. Premium only: Learner, Developer, Business, and Professional subscriptions. Omitted for Free accounts, anonymous demos, and unknown subscription tiers.",
              "example": "https://media.api-ninjas.com/activity_images/298a1f4fc68196e32526c99689d5c9aa62b9918dfbd600f86af2ec971b710fec.png",
              "x-premium": true
            },
            "icon_url": {
              "type": "string",
              "format": "uri",
              "description": "Consistent activity pictogram with a transparent background. Premium only: Learner, Developer, Business, and Professional subscriptions. Omitted for Free accounts, anonymous demos, and unknown subscription tiers.",
              "example": "https://media.api-ninjas.com/activity_images/e99f715ce23fd73e5b79d2796b63b3f61eb5c9b991a0bd51aaa1e9a9bdfe8a5f.png",
              "x-premium": true
            }
          }
        }
      },
      "ActivitiesListResponse": {
        "type": "array",
        "items": {
          "type": "string",
          "description": "Name of the supported activity."
        }
      },
      "CanadaRoutingNumberOpenapi_BranchInfo": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the bank. Premium only."
          },
          "routing_number": {
            "type": "string",
            "description": "The 9-digit Canadian routing number in EFT format."
          },
          "transit_number": {
            "type": "string",
            "description": "The 5-digit branch transit number."
          },
          "institution_number": {
            "type": "string",
            "description": "The 3-digit financial institution number."
          },
          "branch_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the branch. Premium only."
          },
          "street_address": {
            "type": "string",
            "nullable": true,
            "description": "The street address of the branch. Premium only."
          },
          "city": {
            "type": "string",
            "description": "The city of the branch."
          },
          "province": {
            "type": "string",
            "description": "The two-letter province or territory code (e.g. ON, QC, BC)."
          },
          "postal_code": {
            "type": "string",
            "description": "The postal code of the branch."
          },
          "country": {
            "type": "string",
            "description": "Always CA."
          },
          "phone_number": {
            "type": "string",
            "nullable": true,
            "description": "The customer service phone number of the bank. Premium only."
          },
          "swift_code": {
            "type": "string",
            "nullable": true,
            "description": "The SWIFT/BIC code of the bank, useful for international wire transfers. May be null if the bank does not participate in SWIFT. Premium only."
          },
          "checksum_valid": {
            "type": "boolean",
            "description": "Whether the routing number passes structural validation. Canada does not use a checksum algorithm, so this confirms the format is valid (9 digits, leading zero, recognized institution number)."
          }
        }
      },
      "Car": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Handle for this exact car, e.g. car_e71ff3416a. Pass back as ?id= to re-fetch it. Safe to store: it is derived from the car's identity and survives data refreshes."
          },
          "make": {
            "type": "string",
            "description": "Manufacturer name, e.g. BMW."
          },
          "model": {
            "type": "string",
            "description": "Model name, e.g. 3 Series."
          },
          "generation": {
            "type": "string",
            "description": "Generation this car belongs to, e.g. E90/E91/E92/E93. Names the whole code family, because a code cannot be mapped to one body.",
            "nullable": true
          },
          "chassis_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Every chassis code the car's generation covers, e.g. [E90, E91, E92, E93]. A property of the generation: the source does not map a code to a body, so a car claims none of them individually. Empty for generations with no published code."
          },
          "year_begin": {
            "type": "integer",
            "description": "First production year.",
            "nullable": true
          },
          "year_end": {
            "type": "integer",
            "description": "Last production year.",
            "nullable": true
          },
          "body": {
            "type": "string",
            "description": "One of Sedan, Coupe, Convertible, Wagon, Hatchback, Liftback, SUV, MPV, Van, Pickup.",
            "nullable": true
          },
          "doors": {
            "type": "integer",
            "description": "Number of doors, where known.",
            "nullable": true
          },
          "body_name": {
            "type": "string",
            "description": "Manufacturer's own name for the body, e.g. Touring, Avant.",
            "nullable": true
          },
          "trim_line": {
            "type": "string",
            "description": "Performance or equipment line, e.g. AMG, GTI.",
            "nullable": true
          },
          "market": {
            "type": "string",
            "description": "Regional variant, where the car is market-specific.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Full name as published, e.g. 320d AT (177 hp)."
          },
          "badge": {
            "type": "string",
            "description": "Model designation on its own, e.g. 320d. Not unique within a generation.",
            "nullable": true
          },
          "edition": {
            "type": "string",
            "description": "Marketing edition, e.g. EfficientDynamics Edition.",
            "nullable": true
          },
          "engine": {
            "type": "string",
            "description": "Short engine summary, e.g. 2.0 turbo diesel.",
            "nullable": true
          },
          "power_hp": {
            "type": "integer",
            "description": "Engine power in horsepower.",
            "nullable": true
          },
          "power_kw": {
            "type": "integer",
            "description": "Engine power in kilowatts.",
            "nullable": true
          },
          "displacement_l": {
            "type": "number",
            "description": "Engine displacement in litres.",
            "nullable": true
          },
          "cylinders": {
            "type": "integer",
            "description": "Number of cylinders.",
            "nullable": true
          },
          "transmission": {
            "type": "string",
            "description": "One of manual, automatic, cvt, dual_clutch, automated_manual, single_speed.",
            "nullable": true
          },
          "gearbox": {
            "type": "string",
            "description": "Manufacturer's name for the gearbox, e.g. Steptronic.",
            "nullable": true
          },
          "gears": {
            "type": "integer",
            "description": "Number of gears.",
            "nullable": true
          },
          "drive": {
            "type": "string",
            "description": "One of fwd, rwd, awd, 4wd.",
            "nullable": true
          },
          "fuel": {
            "type": "string",
            "description": "One of gasoline, diesel, electric, hybrid, plugin_hybrid, lpg, cng, hydrogen, ethanol.",
            "nullable": true
          },
          "engine_code": {
            "type": "string",
            "description": "Manufacturer engine code, e.g. OM646.962. Coverage is about 21%.",
            "nullable": true
          },
          "spec_count": {
            "type": "integer",
            "description": "Number of specification fields present in specs. Ranges from about 24 to 63 depending on the car.",
            "nullable": true
          },
          "specs": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "value": {
                  "description": "Numeric where the source value is a clean number, otherwise the original text."
                },
                "unit": {
                  "type": "string",
                  "description": "Unit of measurement, where the source records one."
                }
              }
            },
            "description": "Full specification sheet, always present. Values keep their unit as a separate field, e.g. {\"value\": 1995, \"unit\": \"cm3\"}."
          }
        }
      },
      "Make": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Manufacturer name, e.g. BMW."
          },
          "slug": {
            "type": "string",
            "description": "URL-safe form, and the value to pass as make."
          },
          "model_count": {
            "type": "integer"
          },
          "car_count": {
            "type": "integer"
          }
        }
      },
      "Model": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Model name, e.g. 3 Series."
          },
          "slug": {
            "type": "string",
            "description": "URL-safe form, and the value to pass as model."
          },
          "year_begin": {
            "type": "integer",
            "nullable": true
          },
          "year_end": {
            "type": "integer",
            "nullable": true
          },
          "generation_count": {
            "type": "integer"
          },
          "car_count": {
            "type": "integer"
          }
        }
      },
      "Generation": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Display name, e.g. E90/E91/E92/E93 facelift."
          },
          "slug": {
            "type": "string",
            "description": "URL-safe form, and the value to pass as generation."
          },
          "chassis_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Every chassis code this generation covers. BMW's 2004-2010 3 Series is E90 (saloon), E91 (Touring), E92 (coupe) and E93 (convertible) -- one generation, four codes. Empty for generations with no published code. There is no singular chassis_code field: it would only ever be the first entry here, which for a multi-body generation is one body's code standing in for the whole generation."
          },
          "ordinal": {
            "type": "integer",
            "description": "Generation number where the manufacturer counts rather than codes.",
            "nullable": true
          },
          "facelift": {
            "type": "boolean"
          },
          "market": {
            "type": "string",
            "nullable": true
          },
          "year_begin": {
            "type": "integer",
            "nullable": true
          },
          "year_end": {
            "type": "integer",
            "nullable": true
          },
          "car_count": {
            "type": "integer",
            "description": "A generation with 0 is still returned, so gaps in coverage are visible. Pass has_cars=true to omit them."
          }
        }
      },
      "FacetValue": {
        "type": "object",
        "properties": {
          "value": {
            "description": "One available value for this dimension."
          },
          "count": {
            "type": "integer",
            "description": "How many cars in the current selection have it."
          }
        }
      },
      "CarsOpenapi_Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "CashFlowResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company filing information including ticker, CIK, company name, fiscal year, and fiscal quarter.",
            "properties": {
              "ticker": {
                "type": "string",
                "example": "ADBE"
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "fiscal_year": {
                "type": "integer",
                "example": 2025
              },
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "fiscal_quarter": {
                "type": "integer",
                "example": 2
              }
            }
          },
          "cash_flow": {
            "type": "object",
            "description": "Cash flow statement figures in whole U.S. dollars.",
            "properties": {
              "operating_cash_flow": {
                "type": "integer",
                "example": 4673000000
              },
              "net_cash_investing": {
                "type": "integer",
                "example": -762000000
              },
              "net_cash_financing": {
                "type": "integer",
                "example": -6629000000
              },
              "free_cash_flow": {
                "type": "integer",
                "nullable": true,
                "example": 4590000000
              },
              "capital_expenditures": {
                "type": "integer",
                "example": 73000000
              },
              "share_repurchases": {
                "type": "integer",
                "example": 6750000000
              },
              "dividends_paid": {
                "type": "integer",
                "nullable": true,
                "example": null
              }
            }
          },
          "filing_info": {
            "type": "object",
            "description": "SEC filing metadata including filing type, filing date, and period end date.",
            "properties": {
              "filing_type": {
                "type": "string",
                "example": "10-Q"
              },
              "filing_date": {
                "type": "string",
                "example": "2025-06-25"
              },
              "period_end_date": {
                "type": "string",
                "example": "2025-05-30"
              }
            }
          }
        }
      },
      "CashFlowAvailabilityResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company identity: ticker, CIK, and company name.",
            "properties": {
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "ticker": {
                "type": "string",
                "example": "ADBE"
              }
            }
          },
          "available_periods": {
            "type": "array",
            "description": "Fiscal years (newest first) and the periods within each that have cash flow data.",
            "items": {
              "type": "object",
              "properties": {
                "year": {
                  "type": "integer",
                  "example": 2024
                },
                "periods": {
                  "type": "array",
                  "description": "Available fiscal periods for the year: q1-q4 and fy (full year).",
                  "items": {
                    "type": "string",
                    "enum": [
                      "q1",
                      "q2",
                      "q3",
                      "q4",
                      "fy"
                    ]
                  },
                  "example": [
                    "q1",
                    "q2",
                    "q3",
                    "q4",
                    "fy"
                  ]
                }
              }
            }
          }
        }
      },
      "Cat": {
        "type": "object",
        "properties": {
          "length": {
            "type": "string"
          },
          "origin": {
            "type": "string"
          },
          "image_link": {
            "type": "string",
            "format": "uri"
          },
          "family_friendly": {
            "type": "integer"
          },
          "shedding": {
            "type": "integer"
          },
          "general_health": {
            "type": "integer"
          },
          "playfulness": {
            "type": "integer"
          },
          "children_friendly": {
            "type": "integer"
          },
          "grooming": {
            "type": "integer"
          },
          "intelligence": {
            "type": "integer"
          },
          "other_pets_friendly": {
            "type": "integer"
          },
          "min_weight": {
            "type": "integer"
          },
          "max_weight": {
            "type": "integer"
          },
          "min_life_expectancy": {
            "type": "integer"
          },
          "max_life_expectancy": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "CatNames": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "Celebrity": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the celebrity"
          },
          "net_worth": {
            "type": "integer",
            "description": "Net worth of the celebrity"
          },
          "gender": {
            "type": "string",
            "description": "Gender of the celebrity"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality of the celebrity"
          },
          "occupation": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Occupation(s) of the celebrity"
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Height of the celebrity in meters"
          },
          "birthday": {
            "type": "string",
            "format": "date",
            "description": "Birthday of the celebrity"
          },
          "age": {
            "type": "integer",
            "description": "Current age of the celebrity in years"
          },
          "is_alive": {
            "type": "boolean",
            "description": "Whether the celebrity is currently alive"
          }
        }
      },
      "JokeResponse": {
        "type": "object",
        "properties": {
          "joke": {
            "type": "string",
            "example": "Champions are the breakfast of Chuck Norris."
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "City": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of city."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude coordinate of the city."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude coordinate of the city."
          },
          "country": {
            "type": "string",
            "description": "ISO-3166 alpha-2 country code."
          },
          "population": {
            "type": "integer",
            "description": "Population of the city."
          },
          "is_capital": {
            "type": "boolean",
            "description": "Indicates if the city is a capital."
          }
        }
      },
      "CocktailResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ingredients": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "List of ingredients with their quantities."
            },
            "instructions": {
              "type": "string",
              "description": "Instructions for preparing the cocktail."
            },
            "name": {
              "type": "string",
              "description": "Name of the cocktail."
            }
          },
          "required": [
            "ingredients",
            "instructions",
            "name"
          ]
        }
      },
      "CommodityPriceResponse": {
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string",
            "description": "The symbol of the exchange where the commodity is traded."
          },
          "name": {
            "type": "string",
            "description": "The display name of the commodity (e.g. Gold Futures)."
          },
          "value": {
            "type": "string",
            "description": "The commodity's `?name=` slug (e.g. gold, crude_oil)."
          },
          "price": {
            "type": "number",
            "description": "The current price of the commodity. See currency_unit for the price convention."
          },
          "currency_unit": {
            "type": "string",
            "enum": [
              "USD",
              "USX"
            ],
            "description": "Price convention: USD = US dollars per unit; USX = US cents per unit. Grains, softs, and livestock are typically USX; metals and energy are typically USD."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit (e.g., troy_ounce, barrel, bushel, lb, MMBtu, gallon, metric_ton, short_ton, hundredweight, board_feet)."
          },
          "previous_close": {
            "type": "number",
            "description": "Previous session's closing price in the same quote convention as price."
          },
          "change_24h": {
            "type": "number",
            "description": "Change vs previous close in the quote unit."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change vs previous close."
          },
          "high_24h": {
            "type": "number",
            "description": "Day's high price."
          },
          "low_24h": {
            "type": "number",
            "description": "Day's low price."
          },
          "high_52w": {
            "type": "number",
            "description": "52-week high."
          },
          "low_52w": {
            "type": "number",
            "description": "52-week low."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp of the price update."
          },
          "futures_contract": {
            "type": "string",
            "description": "The futures contract `price` is quoted for (e.g., GCZ26 = December 2026 gold). Omitted when the contract can't be identified."
          },
          "futures_contract_month": {
            "type": "string",
            "description": "Delivery month of futures_contract (YYYY-MM)."
          }
        }
      },
      "CommodityBatchPriceItem": {
        "type": "object",
        "description": "Reduced projection returned for each element of a `names` (batch) request. Each element is identified by `name` and `value`. The previous_close, change_24h_percent, high_24h, low_24h, high_52w, and low_52w fields returned by the single-commodity `name` form are NOT included.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The display name of the commodity (e.g. Gold Futures)."
          },
          "value": {
            "type": "string",
            "description": "The commodity's `?name=` slug (e.g. gold, crude_oil)."
          },
          "exchange": {
            "type": "string",
            "description": "The symbol of the exchange where the commodity is traded."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit (e.g., troy_ounce, barrel, bushel)."
          },
          "currency_unit": {
            "type": "string",
            "enum": [
              "USD",
              "USX"
            ],
            "description": "Price convention: USD = US dollars per unit; USX = US cents per unit."
          },
          "price": {
            "type": "number",
            "description": "The current price of the commodity in its native unit and currency convention."
          },
          "change_24h": {
            "type": "number",
            "description": "Change vs previous close in the quote unit."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp of the price update."
          },
          "futures_contract": {
            "type": "string",
            "description": "The futures contract `price` is quoted for (e.g., GCZ26 = December 2026 gold). Omitted when the contract can't be identified."
          },
          "futures_contract_month": {
            "type": "string",
            "description": "Delivery month of futures_contract (YYYY-MM)."
          }
        }
      },
      "CommoditySnapshotItem": {
        "type": "object",
        "description": "Snapshot returns a trimmed schema for batch efficiency. For previous_close, change_24h_percent, high_24h, low_24h, high_52w, low_52w, use /v1/commodityprice on a specific commodity.",
        "properties": {
          "exchange": {
            "type": "string",
            "description": "Listing exchange."
          },
          "name": {
            "type": "string",
            "description": "Display name of the commodity."
          },
          "value": {
            "type": "string",
            "description": "The API ?name= parameter value for this commodity."
          },
          "category": {
            "type": "string",
            "enum": [
              "precious_metals",
              "base_metals",
              "energy",
              "grains",
              "softs",
              "livestock"
            ],
            "description": "Product category for filtering."
          },
          "currency_unit": {
            "type": "string",
            "enum": [
              "USD",
              "USX"
            ],
            "description": "USD = US dollars per unit; USX = US cents per unit."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit."
          },
          "price": {
            "type": "number",
            "description": "Current price in the commodity's native unit and currency convention."
          },
          "change_24h": {
            "type": "number",
            "description": "Absolute price change vs the previous close."
          },
          "volume": {
            "type": "integer",
            "description": "Trading volume for the session."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp when the snapshot was fetched."
          }
        }
      },
      "ForwardCurveContract": {
        "type": "object",
        "properties": {
          "contract_symbol": {
            "type": "string",
            "description": "Full contract symbol (e.g., CLM26)."
          },
          "contract_month": {
            "type": "string",
            "description": "Contract delivery month in YYYY-MM format. The precise expiry day depends on the per-commodity rule; use the listing exchange's calendar for exact expiry."
          },
          "month_offset": {
            "type": "integer",
            "description": "Number of calendar months between today and the contract month (0 = current month)."
          },
          "last_price": {
            "type": "number"
          },
          "last_updated": {
            "type": "integer",
            "description": "Unix timestamp of the contract's last update."
          }
        }
      },
      "CommodityForwardCurveResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the commodity."
          },
          "value": {
            "type": "string",
            "description": "The API ?name= parameter value."
          },
          "symbol_root": {
            "type": "string",
            "description": "Contract symbol root (e.g., CL for crude oil)."
          },
          "as_of": {
            "type": "integer",
            "description": "Unix timestamp of the most recent contract update across the curve."
          },
          "structure": {
            "type": "string",
            "enum": [
              "contango",
              "backwardation",
              "mixed",
              "flat"
            ],
            "description": "Curve-shape classification. Contango = strictly upward; backwardation = strictly downward; mixed = both; flat = no change."
          },
          "contango_slope_1m_pct": {
            "type": "number",
            "nullable": true,
            "description": "Percent difference between the front month price and the next month price. Positive = contango at the front."
          },
          "contango_slope_12m_pct": {
            "type": "number",
            "nullable": true,
            "description": "Percent difference between the front month price and the ~12-month-out contract price."
          },
          "curve": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForwardCurveContract"
            }
          }
        }
      },
      "BatchItemError": {
        "type": "object",
        "description": "Error entry returned for a single commodity in a batch request that failed.",
        "properties": {
          "name": {
            "type": "string"
          },
          "error": {
            "type": "string"
          }
        }
      },
      "HistoricalPriceResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "open": {
              "type": "number",
              "description": "The opening price of the commodity in USD."
            },
            "low": {
              "type": "number",
              "description": "The lowest price of the commodity in USD."
            },
            "high": {
              "type": "number",
              "description": "The highest price of the commodity in USD."
            },
            "close": {
              "type": "number",
              "description": "The closing price of the commodity in USD."
            },
            "volume": {
              "type": "integer",
              "description": "The volume of the commodity."
            },
            "time": {
              "type": "integer",
              "description": "The Unix timestamp of the price update."
            }
          }
        }
      },
      "CommodityContractResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string",
              "description": "The full contract symbol."
            },
            "last_price": {
              "type": "number",
              "description": "The last price of the commodity contract."
            },
            "last_updated": {
              "type": "integer",
              "description": "The Unix timestamp of when the price was last updated."
            }
          }
        }
      },
      "CommodityContractListResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string",
              "description": "The full contract symbol."
            },
            "commodity": {
              "type": "string",
              "description": "The name of the commodity."
            }
          }
        }
      },
      "CommoditySpotResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The commodity's display name."
          },
          "value": {
            "type": "string",
            "description": "The commodity's name parameter value."
          },
          "price": {
            "type": "number",
            "description": "The spot price: the price for immediate delivery."
          },
          "bid": {
            "type": "number",
            "description": "Spot bid price (composite spot only)."
          },
          "ask": {
            "type": "number",
            "description": "Spot ask price (composite spot only)."
          },
          "spot_type": {
            "type": "string",
            "enum": [
              "composite",
              "assessed"
            ],
            "description": "How the price is produced: composite = blended live market quotes (gold, silver, platinum, palladium; refreshed every minute on Developer plans, about every 10 seconds on Business plans and above); assessed = the U.S. EIA official daily spot price (oil and energy)."
          },
          "date": {
            "type": "string",
            "description": "Assessed spot only: the trading day of the price (YYYY-MM-DD). The EIA publishes weekly, so it trails by several days."
          },
          "benchmark": {
            "type": "string",
            "description": "Assessed spot only: the physical spot benchmark (e.g., WTI Cushing, Oklahoma)."
          },
          "previous_close": {
            "type": "number",
            "description": "The previous session's closing spot price."
          },
          "change_24h": {
            "type": "number",
            "description": "Change versus the previous close."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change versus the previous close."
          },
          "high_24h": {
            "type": "number",
            "description": "Composite spot only: the session's high price."
          },
          "low_24h": {
            "type": "number",
            "description": "Composite spot only: the session's low price."
          },
          "market_status": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ],
            "description": "Composite spot only: whether the market is trading (Sunday 6 PM to Friday 5 PM ET, with a daily 5-6 PM ET break)."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the spot price."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit."
          },
          "currency_unit": {
            "type": "string",
            "description": "Price currency, USD by default."
          }
        }
      },
      "ConvertCurrencyResponse": {
        "type": "object",
        "properties": {
          "old_amount": {
            "type": "number",
            "example": 5000
          },
          "old_currency": {
            "type": "string",
            "example": "GBP"
          },
          "new_currency": {
            "type": "string",
            "example": "AUD"
          },
          "new_amount": {
            "type": "number",
            "example": 9409.7
          },
          "timestamp": {
            "type": "integer",
            "description": "Unix timestamp (in seconds) indicating the time at which the exchange rate used for the conversion was applied.",
            "example": 1777407247
          }
        }
      },
      "ConvertCurrencyOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer"
          }
        }
      },
      "CounterResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the counter."
          },
          "value": {
            "type": "integer",
            "description": "The current value of the counter."
          }
        }
      },
      "CounterOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "CountryFlagResponse": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "2-letter ISO-3166 alpha-2 country code."
          },
          "square_image_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the square flag image in SVG format."
          },
          "rectangle_image_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the rectangle flag image in SVG format."
          }
        },
        "required": [
          "country",
          "square_image_url",
          "rectangle_image_url"
        ]
      },
      "CountryResponse": {
        "type": "object",
        "properties": {
          "gdp": {
            "type": "number"
          },
          "sex_ratio": {
            "type": "number"
          },
          "surface_area": {
            "type": "number"
          },
          "life_expectancy_male": {
            "type": "number"
          },
          "unemployment": {
            "type": "number"
          },
          "imports": {
            "type": "number"
          },
          "homicide_rate": {
            "type": "number"
          },
          "currency": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          },
          "iso2": {
            "type": "string"
          },
          "gdp_growth": {
            "type": "number"
          },
          "employment_services": {
            "type": "number"
          },
          "urban_population_growth": {
            "type": "number"
          },
          "secondary_school_enrollment_female": {
            "type": "number"
          },
          "employment_agriculture": {
            "type": "number"
          },
          "capital": {
            "type": "string"
          },
          "co2_emissions": {
            "type": "number"
          },
          "forested_area": {
            "type": "number"
          },
          "tourists": {
            "type": "number"
          },
          "exports": {
            "type": "number"
          },
          "life_expectancy_female": {
            "type": "number"
          },
          "post_secondary_enrollment_female": {
            "type": "number"
          },
          "post_secondary_enrollment_male": {
            "type": "number"
          },
          "primary_school_enrollment_female": {
            "type": "number"
          },
          "infant_mortality": {
            "type": "number"
          },
          "secondary_school_enrollment_male": {
            "type": "number"
          },
          "threatened_species": {
            "type": "number"
          },
          "population": {
            "type": "number"
          },
          "urban_population": {
            "type": "number"
          },
          "employment_industry": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "pop_growth": {
            "type": "number"
          },
          "region": {
            "type": "string"
          },
          "pop_density": {
            "type": "number"
          },
          "internet_users": {
            "type": "number"
          },
          "gdp_per_capita": {
            "type": "number"
          },
          "fertility": {
            "type": "number"
          },
          "refugees": {
            "type": "number"
          },
          "primary_school_enrollment_male": {
            "type": "number"
          },
          "telephone_country_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "flag_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the country's flag image (4:3 rectangle, SVG)."
          },
          "flag_square_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the country's flag image (1:1 square, SVG)."
          }
        }
      },
      "CountyResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "county_name": {
              "type": "string"
            },
            "county_fips": {
              "type": "string"
            },
            "state_code": {
              "type": "string"
            },
            "state_name": {
              "type": "string"
            },
            "latitude": {
              "type": "string"
            },
            "longitude": {
              "type": "string"
            },
            "timezone": {
              "type": "string"
            },
            "zip_codes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "population": {
              "type": "integer"
            },
            "median_age": {
              "type": "number"
            }
          }
        }
      },
      "CovidData": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country name."
          },
          "region": {
            "type": "string",
            "description": "Administrative region (state or province) name, if applicable."
          },
          "cases": {
            "type": "object",
            "description": "Object with dates as keys, each containing total (total cases/deaths) and new (new cases/deaths for that day).",
            "additionalProperties": {
              "$ref": "#/components/schemas/CaseData"
            }
          }
        }
      },
      "CaseData": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total cases/deaths."
          },
          "new": {
            "type": "integer",
            "description": "New cases/deaths for that day."
          }
        }
      },
      "CryptoPriceResponse": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "example": "ETHUSDT"
          },
          "price": {
            "type": "string",
            "example": "0.00381400",
            "description": "The price of the trading pair. Live on paid plans; on the free plan it is the close of the last completed hour."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "example": 1637809196,
            "description": "Unix timestamp (seconds) of the moment the data was measured. On paid plans this is the moment the price was read. On the free plan it is the top of the current hour: the free tier updates once per hour, so every request within the same hour returns the same values and the same timestamp."
          },
          "exchange_rate_timestamp": {
            "type": "integer",
            "format": "int64",
            "example": 1637809190,
            "description": "Fiat quotes only (e.g. BTCEUR). Unix timestamp (seconds) of the exchange rate used to convert the US-dollar price. Can be older than timestamp, e.g. at weekends when currency markets are closed."
          }
        }
      },
      "CryptoPriceHistoricalCandle": {
        "type": "object",
        "properties": {
          "open": {
            "type": "string",
            "description": "Opening price for the period."
          },
          "high": {
            "type": "string",
            "description": "Highest price during the period."
          },
          "low": {
            "type": "string",
            "description": "Lowest price during the period."
          },
          "close": {
            "type": "string",
            "description": "Closing price for the period."
          },
          "volume": {
            "type": "string",
            "description": "Trading volume during the period."
          },
          "close_time": {
            "type": "integer",
            "format": "int64",
            "description": "Closing timestamp in Unix milliseconds."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "description": "Period start timestamp in Unix seconds."
          },
          "price": {
            "type": "string",
            "description": "Current price (matches close)."
          }
        }
      },
      "CryptoPriceOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message"
          }
        }
      },
      "VolatilityConeEntry": {
        "type": "object",
        "properties": {
          "window_days": {
            "type": "integer",
            "example": 21
          },
          "min": {
            "type": "number",
            "example": 0.041
          },
          "p25": {
            "type": "number",
            "example": 0.058
          },
          "median": {
            "type": "number",
            "example": 0.069
          },
          "p75": {
            "type": "number",
            "example": 0.088
          },
          "max": {
            "type": "number",
            "example": 0.183
          },
          "current": {
            "type": "number",
            "example": 0.079
          },
          "current_percentile": {
            "type": "number",
            "example": 58
          }
        }
      },
      "CurrencyVolatilityResponse": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "example": "EUR_USD"
          },
          "as_of_date": {
            "type": "string",
            "example": "2026-05-21"
          },
          "method": {
            "type": "string",
            "example": "close_to_close"
          },
          "window_days": {
            "type": "integer",
            "example": 30
          },
          "annualized": {
            "type": "boolean",
            "example": true
          },
          "day_count": {
            "type": "integer",
            "example": 252
          },
          "annualized_volatility": {
            "type": "number",
            "example": 0.0785
          },
          "annualized_volatility_pct": {
            "type": "number",
            "example": 7.85
          },
          "daily_volatility": {
            "type": "number",
            "example": 0.00494
          },
          "daily_volatility_pct": {
            "type": "number",
            "example": 0.494
          },
          "n_observations": {
            "type": "integer",
            "example": 30
          },
          "outliers_filtered": {
            "type": "integer",
            "example": 0
          },
          "percentile_context": {
            "type": "object",
            "properties": {
              "lookback_years": {
                "type": "number",
                "example": 1
              },
              "current_percentile": {
                "type": "number",
                "example": 73
              },
              "hv_rank": {
                "type": "number",
                "example": 64
              },
              "min": {
                "type": "number",
                "example": 0.0412
              },
              "median": {
                "type": "number",
                "example": 0.0673
              },
              "max": {
                "type": "number",
                "example": 0.0998
              }
            }
          },
          "cone": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VolatilityConeEntry"
            }
          }
        }
      },
      "CurrencyVolatilityHistoricalResponse": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "example": "EUR_USD"
          },
          "method": {
            "type": "string",
            "example": "close_to_close"
          },
          "window_days": {
            "type": "integer",
            "example": 30
          },
          "day_count": {
            "type": "integer",
            "example": 252
          },
          "annualized": {
            "type": "boolean",
            "example": true
          },
          "start_date": {
            "type": "string",
            "example": "2026-02-21"
          },
          "end_date": {
            "type": "string",
            "example": "2026-05-21"
          },
          "n_points": {
            "type": "integer",
            "example": 64
          },
          "outliers_filtered": {
            "type": "integer",
            "example": 0
          },
          "series": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "example": "2026-02-23"
                },
                "annualized_volatility": {
                  "type": "number",
                  "example": 0.0712
                },
                "daily_volatility": {
                  "type": "number",
                  "example": 0.00449
                },
                "percentile": {
                  "type": "number",
                  "example": 61
                }
              }
            }
          },
          "cone": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VolatilityConeEntry"
            }
          }
        }
      },
      "CurrencyVolatilityForecastResponse": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "example": "GBP_JPY"
          },
          "as_of_date": {
            "type": "string",
            "example": "2026-05-21"
          },
          "method": {
            "type": "string",
            "example": "garch_11"
          },
          "day_count": {
            "type": "integer",
            "example": 252
          },
          "parameters": {
            "type": "object",
            "description": "Model parameters. For garch_11: omega, alpha, beta, persistence, long_run_var, long_run_vol_annualized, fitted_on. For ewma: lambda, fitted_on.",
            "example": {
              "omega": 6.4e-7,
              "alpha": 0.043,
              "beta": 0.951,
              "persistence": 0.994,
              "long_run_var": 0.000079,
              "long_run_vol_annualized": 0.141,
              "fitted_on": "rolling_1500d"
            }
          },
          "current_conditional_vol_annualized": {
            "type": "number",
            "example": 0.158
          },
          "outliers_filtered": {
            "type": "integer",
            "example": 0
          },
          "fallback": {
            "type": "boolean",
            "description": "True when a requested GARCH fit did not converge and an EWMA estimate was returned instead.",
            "example": false
          },
          "forecast": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "horizon_days": {
                  "type": "integer",
                  "example": 21
                },
                "vol_annualized": {
                  "type": "number",
                  "example": 0.153
                },
                "vol_daily": {
                  "type": "number",
                  "example": 0.00964
                }
              }
            }
          }
        }
      },
      "CurrencyVolatilityOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer"
          }
        }
      },
      "DadJoke": {
        "type": "object",
        "properties": {
          "joke": {
            "type": "string",
            "example": "When putting cheese in a mousetrap, always leave room for the mouse."
          }
        }
      },
      "DadJokesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "HistoricalEvent": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "example": 1969
          },
          "month": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "example": 7
          },
          "day": {
            "type": "integer",
            "minimum": 1,
            "maximum": 31,
            "example": 20
          },
          "event": {
            "type": "string",
            "example": "Apollo program: Apollo 11's crew successfully makes the first human landing on the Moon in the Sea of Tranquility. Americans Neil Armstrong and Buzz Aldrin become the first humans to walk on the Moon six and a half hours later."
          }
        }
      },
      "DayInHistoryOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "DictionaryResponse": {
        "type": "object",
        "properties": {
          "definition": {
            "type": "string",
            "description": "The definition of the requested word."
          },
          "word": {
            "type": "string",
            "description": "The word that was looked up."
          },
          "valid": {
            "type": "boolean",
            "description": "Indicates if the word is valid."
          }
        }
      },
      "DictionaryOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          },
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP status code."
          }
        }
      },
      "EmailCheckResponse": {
        "type": "object",
        "properties": {
          "is_disposable": {
            "type": "boolean",
            "description": "Indicates if the email is from a disposable email provider."
          },
          "domain": {
            "type": "string",
            "description": "The domain of the checked email."
          }
        },
        "required": [
          "is_disposable",
          "domain"
        ]
      },
      "DisposableEmailCheckerOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        },
        "required": [
          "message"
        ]
      },
      "DNSRecord": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "The type of DNS record."
          },
          "value": {
            "type": "string",
            "description": "The value of the DNS record."
          },
          "priority": {
            "type": "integer",
            "description": "The priority of the MX record. Only present for MX records."
          },
          "mname": {
            "type": "string",
            "description": "The MNAME of the SOA record. Only present for SOA records."
          },
          "rname": {
            "type": "string",
            "description": "The RNAME of the SOA record. Only present for SOA records."
          },
          "serial": {
            "type": "integer",
            "description": "The SERIAL of the SOA record. Only present for SOA records."
          },
          "refresh": {
            "type": "integer",
            "description": "The REFRESH of the SOA record. Only present for SOA records."
          },
          "retry": {
            "type": "integer",
            "description": "The RETRY of the SOA record. Only present for SOA records."
          },
          "expire": {
            "type": "integer",
            "description": "The EXPIRE of the SOA record. Only present for SOA records."
          },
          "ttl": {
            "type": "integer",
            "description": "The TTL of the SOA record. Only present for SOA records."
          }
        },
        "required": [
          "record_type",
          "value"
        ]
      },
      "Dog": {
        "type": "object",
        "properties": {
          "image_link": {
            "type": "string",
            "format": "uri",
            "description": "URL to an image of the dog breed."
          },
          "good_with_children": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how well the breed interacts with children."
          },
          "good_with_other_dogs": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how well the breed interacts with other dogs."
          },
          "shedding": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how much the breed sheds."
          },
          "grooming": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of grooming needs."
          },
          "drooling": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how much the breed drools."
          },
          "coat_length": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of the breed's coat length."
          },
          "good_with_strangers": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how well the breed interacts with strangers."
          },
          "playfulness": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of the breed's playfulness."
          },
          "protectiveness": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of the breed's protectiveness."
          },
          "trainability": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how easy it is to train the breed."
          },
          "energy": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of the breed's energy level."
          },
          "barking": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "description": "Rating of how vocal the breed is."
          },
          "min_life_expectancy": {
            "type": "integer",
            "description": "Minimum life expectancy of the breed in years."
          },
          "max_life_expectancy": {
            "type": "integer",
            "description": "Maximum life expectancy of the breed in years."
          },
          "max_height_male": {
            "type": "integer",
            "description": "Maximum height of a male dog of the breed in inches."
          },
          "max_height_female": {
            "type": "integer",
            "description": "Maximum height of a female dog of the breed in inches."
          },
          "max_weight_male": {
            "type": "integer",
            "description": "Maximum weight of a male dog of the breed in pounds."
          },
          "max_weight_female": {
            "type": "integer",
            "description": "Maximum weight of a female dog of the breed in pounds."
          },
          "min_height_male": {
            "type": "integer",
            "description": "Minimum height of a male dog of the breed in inches."
          },
          "min_height_female": {
            "type": "integer",
            "description": "Minimum height of a female dog of the breed in inches."
          },
          "min_weight_male": {
            "type": "integer",
            "description": "Minimum weight of a male dog of the breed in pounds."
          },
          "min_weight_female": {
            "type": "integer",
            "description": "Minimum weight of a female dog of the breed in pounds."
          },
          "name": {
            "type": "string",
            "description": "Name of the dog breed."
          }
        }
      },
      "DogsOpenapi_Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message."
          }
        }
      },
      "DomainResponse": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The domain name queried."
          },
          "available": {
            "type": "boolean",
            "description": "Indicates if the domain is available for registration."
          },
          "creation_date": {
            "type": "integer",
            "format": "int64",
            "description": "The creation date of the domain in UNIX timestamp format."
          },
          "registrar": {
            "type": "string",
            "description": "The registrar of the domain."
          }
        }
      },
      "DomainOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "EarningsResult": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date of the earnings."
          },
          "ticker": {
            "type": "string",
            "description": "The ticker symbol of the company."
          },
          "fiscal_year": {
            "type": "integer",
            "nullable": true,
            "description": "The company's fiscal year for this earnings report. Sourced from the earnings call transcript when available, with a fallback to the SEC 10-Q filing. Omitted when fiscal information is not available for this ticker/date."
          },
          "fiscal_quarter": {
            "type": "integer",
            "nullable": true,
            "description": "The company's fiscal quarter (1-4) for this earnings report. Sourced from the earnings call transcript when available, with a fallback to the SEC 10-Q filing. Omitted when fiscal information is not available for this ticker/date."
          },
          "period_end_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Last day of the fiscal period covered by this report, from the SEC 10-Q/10-K. Null for non-SEC filers and until the filing is available. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "earnings_timing": {
            "type": "string",
            "enum": [
              "before_market",
              "during_market",
              "after_market"
            ],
            "nullable": true,
            "description": "Timing of the earnings call relative to U.S. market hours. Premium only — free tier users receive a placeholder upgrade message string in place of the enum value."
          },
          "earnings_call_timestamp": {
            "type": "integer",
            "nullable": true,
            "description": "Unix timestamp of when the earnings call occurred or is scheduled to occur. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "actual_revenue": {
            "type": "number",
            "nullable": true,
            "description": "Actual revenue for the reported period, in the company's reporting currency. Null until the company reports."
          },
          "estimated_revenue": {
            "type": "number",
            "nullable": true,
            "description": "Consensus revenue estimate, in the company's reporting currency. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "actual_eps": {
            "type": "number",
            "description": "Actual earnings per share on the adjusted (non-GAAP) basis that analyst estimates use, in the company's reporting currency. See actual_eps_gaap for GAAP diluted EPS. Null until the company reports.",
            "nullable": true
          },
          "actual_eps_gaap": {
            "type": "number",
            "nullable": true,
            "description": "GAAP diluted EPS from the SEC 10-Q (or 10-K for the fourth quarter), rounded to 2 decimals. Available for US SEC filers once the filing is published, which is usually the report day and at most ~100 days later. Fourth-quarter values are derived from the annual 10-K and can differ from the company-reported Q4 figure by a few cents. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "estimated_eps": {
            "type": "number",
            "description": "Consensus EPS estimate (adjusted basis), in the company's reporting currency. Premium only: free-tier users receive a placeholder upgrade message string in place of the value.",
            "nullable": true
          },
          "revenue_difference": {
            "type": "number",
            "nullable": true,
            "description": "Actual minus estimated revenue, in the reporting currency. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "revenue_difference_pct": {
            "type": "number",
            "nullable": true,
            "description": "Revenue surprise as a percent of the estimate. Premium only — free tier users receive a placeholder upgrade message string."
          },
          "eps_difference": {
            "type": "number",
            "nullable": true,
            "description": "Actual minus estimated EPS (adjusted basis). Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "eps_difference_pct": {
            "type": "number",
            "nullable": true,
            "description": "EPS surprise as a percent of the estimate. Premium only — free tier users receive a placeholder upgrade message string."
          },
          "sec_filing_type": {
            "type": "string",
            "nullable": true,
            "description": "SEC filing that actual_eps_gaap comes from: \"10-Q\", or \"10-K (Q4 derived from annual)\" for fourth quarters. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "sec_filing_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Date the SEC filing behind actual_eps_gaap was filed. Premium only: free-tier users receive a placeholder upgrade message string in place of the value."
          },
          "report_date_status": {
            "type": "string",
            "enum": [
              "confirmed",
              "projected"
            ],
            "nullable": true,
            "description": "'confirmed' once the company has filed its SEC 8-K Item 2.02 earnings release for this report (checked twice a day), otherwise 'projected'. Over the last year this covers ~87% of reports by US companies above $2B and ~71% of all US SEC filers; companies that publish no earnings press release file no 8-K, and foreign issuers file a 6-K instead. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "date_confirmed": {
            "type": "boolean",
            "nullable": true,
            "description": "True when an SEC 8-K Item 2.02 (Results of Operations) filing has been matched to this report. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "report_datetime": {
            "type": "string",
            "nullable": true,
            "description": "Time the SEC accepted the company's 8-K Item 2.02 earnings filing, in ISO 8601 U.S. Eastern time (e.g. 2026-07-30T16:30:28-04:00). Companies usually file within minutes of releasing results. Null for projected reports and for companies that do not file 8-Ks with the SEC. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "sec_8k_url": {
            "type": "string",
            "nullable": true,
            "description": "URL of the SEC 8-K Item 2.02 filing that confirmed this report. Null when unconfirmed. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "eps_beat_miss": {
            "type": "string",
            "enum": [
              "beat",
              "miss",
              "inline"
            ],
            "nullable": true,
            "description": "Whether actual EPS beat, missed, or matched the estimate. Null until the company reports. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "revenue_beat_miss": {
            "type": "string",
            "enum": [
              "beat",
              "miss",
              "inline"
            ],
            "nullable": true,
            "description": "Whether actual revenue beat, missed, or matched the estimate. Null until the company reports. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "eps_surprise_streak": {
            "type": "integer",
            "nullable": true,
            "description": "Number of consecutive most-recent quarters the company beat its EPS estimate (0 if the latest report missed). Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "avg_eps_surprise_pct_4q": {
            "type": "number",
            "nullable": true,
            "description": "Average EPS surprise percent over the last 4 reported quarters. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "eps_sue": {
            "type": "number",
            "nullable": true,
            "description": "Standardized Unexpected Earnings: the latest EPS surprise divided by the standard deviation of recent surprises (a normalized surprise magnitude used in post-earnings-drift strategies). Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "year_ago_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Report date of the same quarter one year earlier (the report 330-400 days before this one, closest to 52 weeks). Business tier and above only: lower tiers receive a placeholder upgrade message string."
          },
          "year_ago_actual_eps": {
            "type": "number",
            "nullable": true,
            "description": "Actual EPS (adjusted basis) reported one year earlier. Business tier and above only: lower tiers receive a placeholder upgrade message string."
          },
          "year_ago_actual_revenue": {
            "type": "number",
            "nullable": true,
            "description": "Actual revenue reported one year earlier, in the reporting currency. Business tier and above only: lower tiers receive a placeholder upgrade message string."
          },
          "eps_growth_yoy_pct": {
            "type": "number",
            "nullable": true,
            "description": "Year-over-year EPS growth in percent: (actual_eps - year_ago_actual_eps) / |year_ago_actual_eps| x 100, so a narrowing loss is positive growth. Null until this report has an actual or when the year-ago EPS is 0. Business tier and above only: lower tiers receive a placeholder upgrade message string."
          },
          "revenue_growth_yoy_pct": {
            "type": "number",
            "nullable": true,
            "description": "Year-over-year revenue growth in percent. Null until this report has actual revenue. Business tier and above only: lower tiers receive a placeholder upgrade message string."
          },
          "last_earnings_move_pct": {
            "type": "number",
            "nullable": true,
            "description": "One-day percent price reaction to this earnings report, computed timing-aware (next session for after-market reports). Null when daily prices are unavailable for the ticker. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "avg_earnings_move_pct": {
            "type": "number",
            "nullable": true,
            "description": "Average absolute one-day price move over the company's last 4 reported earnings. Null when daily prices are unavailable. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "price_reaction": {
            "type": "object",
            "nullable": true,
            "description": "Stock price reaction to this report, from daily bars. The reaction session is the report date for before-market and during-market reports (and when timing is unknown), and the next trading day for after-market reports. Null for upcoming reports, until the reaction session has closed, or when prices are not available for the ticker. Business tier and above only: lower tiers receive a placeholder upgrade message string.",
            "properties": {
              "reaction_date": {
                "type": "string",
                "format": "date",
                "description": "First trading session that reflects the report."
              },
              "pre_earnings_close": {
                "type": "number",
                "description": "Close of the last session before the reaction session."
              },
              "gap_pct": {
                "type": "number",
                "nullable": true,
                "description": "Reaction-session open vs pre_earnings_close, in percent."
              },
              "move_1d_pct": {
                "type": "number",
                "nullable": true,
                "description": "Reaction-session close vs pre_earnings_close, in percent."
              },
              "move_3d_pct": {
                "type": "number",
                "nullable": true,
                "description": "Close of the 3rd session (counting the reaction session as 1) vs pre_earnings_close, in percent. Null until that session has closed."
              },
              "move_5d_pct": {
                "type": "number",
                "nullable": true,
                "description": "Close of the 5th session vs pre_earnings_close, in percent. Null until that session has closed."
              },
              "pre_earnings_move_5d_pct": {
                "type": "number",
                "nullable": true,
                "description": "pre_earnings_close vs the close 5 sessions earlier, in percent (the run-up into the report)."
              },
              "volume_ratio": {
                "type": "number",
                "nullable": true,
                "description": "Reaction-session volume divided by the average volume of the 20 sessions up to the pre-earnings session."
              }
            }
          },
          "days_to_next_earnings": {
            "type": "integer",
            "nullable": true,
            "description": "Calendar days from today until the company's next scheduled earnings date. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "next_earnings_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "The company's next scheduled earnings date. Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "has_transcript": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether an earnings call transcript is available for this report (retrievable via /v1/earningstranscript). Business tier and above only — lower tiers receive a placeholder upgrade message string."
          },
          "surprise_history": {
            "type": "array",
            "nullable": true,
            "description": "Up to the 4 most-recent reported quarters, most-recent first. Business tier and above only — lower tiers receive a placeholder upgrade message string.",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "description": "Report date."
                },
                "actual_eps": {
                  "type": "number",
                  "nullable": true,
                  "description": "Actual EPS."
                },
                "estimated_eps": {
                  "type": "number",
                  "nullable": true,
                  "description": "Estimated (consensus) EPS."
                },
                "eps_surprise_pct": {
                  "type": "number",
                  "nullable": true,
                  "description": "EPS surprise as a percent of the estimate."
                }
              }
            }
          }
        }
      },
      "EarningsCalendarListResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ticker": {
              "type": "string",
              "description": "The company ticker symbol."
            },
            "company": {
              "type": "string",
              "description": "The company name."
            }
          }
        }
      },
      "UpcomingEarningsResult": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "The ticker symbol of the company."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date of the upcoming earnings."
          },
          "eps_estimated": {
            "type": "number",
            "nullable": true,
            "description": "The estimated earnings per share in USD."
          },
          "revenue_estimated": {
            "type": "number",
            "nullable": true,
            "description": "The estimated revenue in USD."
          },
          "exchange": {
            "type": "string",
            "description": "The exchange code where the company is listed."
          },
          "earnings_timing": {
            "type": "string",
            "enum": [
              "before_market",
              "during_market",
              "after_market"
            ],
            "nullable": true,
            "description": "Timing of the earnings call relative to U.S. market hours. Omitted when the company's earnings timing is not yet known."
          }
        }
      },
      "UpcomingEarningsResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/UpcomingEarningsResult"
        },
        "description": "Array of upcoming earnings objects."
      },
      "EarningsTranscriptResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date of the earnings call."
          },
          "timestamp": {
            "type": "integer",
            "nullable": true,
            "description": "The UNIX timestamp (in seconds) of the earnings call to the nearest minute. Premium only."
          },
          "ticker": {
            "type": "string",
            "description": "The ticker symbol of the company."
          },
          "cik": {
            "type": "string",
            "description": "The CIK of the company."
          },
          "year": {
            "type": "string",
            "description": "The year of the earnings call."
          },
          "quarter": {
            "type": "string",
            "description": "The quarter of the earnings call."
          },
          "earnings_timing": {
            "type": "string",
            "enum": [
              "before_market",
              "during_market",
              "after_market"
            ],
            "nullable": true,
            "description": "Timing of the earnings call. Premium only."
          },
          "transcript": {
            "type": "string",
            "description": "The transcript of the earnings call as a single string."
          },
          "participants": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the participant."
                },
                "role": {
                  "type": "string",
                  "description": "The role of the participant."
                },
                "company": {
                  "type": "string",
                  "description": "The company the participant represents."
                }
              }
            },
            "description": "The list of participants of the earnings call. Premium only."
          },
          "transcript_split": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "speaker": {
                  "type": "string",
                  "description": "The name of the speaker."
                },
                "company": {
                  "type": "string",
                  "description": "The company the speaker represents."
                },
                "role": {
                  "type": "string",
                  "description": "The role of the speaker."
                },
                "text": {
                  "type": "string",
                  "description": "The text spoken by the speaker."
                }
              }
            },
            "description": "The transcript of the earnings call split into sections by speaker. Premium only."
          }
        }
      },
      "EarningsTranscriptSearchResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ticker": {
              "type": "string",
              "description": "The company ticker symbol."
            },
            "year": {
              "type": "string",
              "description": "The year of the earnings call transcript."
            },
            "quarter": {
              "type": "string",
              "description": "The quarter of the earnings call transcript (1, 2, 3, or 4)."
            },
            "date": {
              "type": "string",
              "description": "The earnings call date in YYYY-MM-DD format."
            }
          }
        },
        "description": "A list of available earnings call transcripts."
      },
      "EarningsTranscriptsListResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ticker": {
              "type": "string",
              "description": "The company ticker symbol."
            },
            "company": {
              "type": "string",
              "description": "The company name."
            }
          }
        },
        "description": "A list of all available earnings call transcripts."
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total number of matching records across all pages."
          },
          "count": {
            "type": "integer",
            "description": "Number of records returned on this page."
          },
          "limit": {
            "type": "integer",
            "description": "Page size used."
          },
          "offset": {
            "type": "integer",
            "description": "Number of records skipped."
          },
          "has_more": {
            "type": "boolean",
            "description": "True if more records exist beyond this page."
          }
        }
      },
      "Speaker": {
        "type": "object",
        "properties": {
          "speaker_id": {
            "type": "string",
            "description": "Stable identifier for the resolved person. Pass it back as the id parameter to fetch full detail."
          },
          "name": {
            "type": "string",
            "description": "Display name of the speaker."
          },
          "speaker_type": {
            "type": "string",
            "enum": [
              "executive",
              "analyst"
            ],
            "description": "Whether the person is a company executive or a sell-side analyst."
          },
          "primary_company": {
            "type": "string",
            "nullable": true,
            "description": "For executives, the company they represent. Null for analysts."
          },
          "primary_company_ticker": {
            "type": "string",
            "nullable": true,
            "description": "Ticker of the primary company (executives)."
          },
          "primary_cik": {
            "type": "string",
            "nullable": true,
            "description": "CIK of the primary company (executives)."
          },
          "analyst_firm": {
            "type": "string",
            "nullable": true,
            "description": "For analysts, their most recent firm. Null for executives."
          },
          "primary_role": {
            "type": "string",
            "nullable": true,
            "description": "Most common role or title."
          },
          "role_variants": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "All distinct roles/titles observed for this person, most frequent first."
          },
          "appearance_count": {
            "type": "integer",
            "description": "Number of distinct earnings calls the person appeared on."
          },
          "distinct_companies": {
            "type": "integer",
            "description": "Number of distinct companies the person appeared for."
          },
          "distinct_tickers": {
            "type": "integer",
            "description": "Number of distinct tickers the person appeared for."
          },
          "first_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Earliest appearance date."
          },
          "last_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Most recent appearance date."
          },
          "appearances": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SpeakerAppearance"
            },
            "description": "The person's appearances. In search mode, present only when include_appearances=true; always present in detail mode."
          }
        }
      },
      "SpeakerAppearance": {
        "type": "object",
        "properties": {
          "transcript_id": {
            "type": "string",
            "description": "Identifier of the earnings call transcript (e.g. aapl-2026-q2)."
          },
          "ticker": {
            "type": "string",
            "description": "Ticker of the company holding the call."
          },
          "cik": {
            "type": "string",
            "nullable": true,
            "description": "CIK of the company holding the call."
          },
          "year": {
            "type": "integer",
            "description": "Fiscal year of the call."
          },
          "quarter": {
            "type": "integer",
            "description": "Fiscal quarter of the call (1-4)."
          },
          "date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Date of the call."
          },
          "role": {
            "type": "string",
            "nullable": true,
            "description": "The person's role on this specific call."
          },
          "company": {
            "type": "string",
            "nullable": true,
            "description": "The person's affiliation on this call (issuer for executives; firm for analysts)."
          },
          "speaker_type": {
            "type": "string",
            "enum": [
              "executive",
              "analyst"
            ],
            "description": "Classification on this call."
          },
          "turn_count": {
            "type": "integer",
            "description": "Number of speaking turns the person had on this call."
          }
        }
      },
      "SpeakerCoverage": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Ticker the person appeared for."
          },
          "cik": {
            "type": "string",
            "nullable": true,
            "description": "CIK of that company."
          },
          "appearance_count": {
            "type": "integer",
            "description": "Number of that company's calls the person appeared on."
          },
          "first_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "First appearance for that company."
          },
          "last_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Most recent appearance for that company."
          }
        }
      },
      "SpeakerSearchResponse": {
        "type": "object",
        "description": "Returned by /earningstranscriptspeaker in search mode (no id parameter).",
        "properties": {
          "speakers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Speaker"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        }
      },
      "SpeakerDetailResponse": {
        "description": "Returned by /earningstranscriptspeaker in detail mode (id provided). An empty object {} is returned if the id is unknown.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Speaker"
          },
          {
            "type": "object",
            "properties": {
              "coverage": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SpeakerCoverage"
                },
                "description": "Per-company rollup of the person's appearances."
              },
              "appearances_pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Participant": {
        "type": "object",
        "properties": {
          "speaker_id": {
            "type": "string",
            "description": "Stable speaker identifier."
          },
          "name": {
            "type": "string",
            "description": "Display name."
          },
          "speaker_type": {
            "type": "string",
            "enum": [
              "executive",
              "analyst"
            ],
            "description": "Executive or sell-side analyst."
          },
          "role": {
            "type": "string",
            "nullable": true,
            "description": "Most recent role on this company's calls."
          },
          "analyst_firm": {
            "type": "string",
            "nullable": true,
            "description": "Analyst's firm (analysts only)."
          },
          "appearance_count": {
            "type": "integer",
            "description": "Number of this company's calls the person appeared on."
          },
          "first_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "First appearance on this company's calls."
          },
          "last_appearance_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Most recent appearance on this company's calls."
          }
        }
      },
      "ParticipantsResponse": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "nullable": true,
            "description": "The company ticker."
          },
          "cik": {
            "type": "string",
            "nullable": true,
            "description": "The company CIK."
          },
          "participants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Participant"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        }
      },
      "EarningsResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "properties": {
              "ticker": {
                "type": "string",
                "example": "ADBE"
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "fiscal_year": {
                "type": "integer",
                "example": 2024
              },
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "fiscal_quarter": {
                "type": "integer",
                "example": 2
              }
            }
          },
          "income_statement": {
            "type": "object",
            "properties": {
              "earnings_per_share_basic": {
                "type": "number",
                "example": 3.5
              },
              "interest_expense": {
                "type": "integer",
                "example": 41000000
              },
              "sales_and_marketing": {
                "type": "integer",
                "example": 1445000000
              },
              "operating_income": {
                "type": "integer",
                "example": 1885000000
              },
              "tax_provision": {
                "type": "integer",
                "example": 357000000
              },
              "gross_profit": {
                "type": "integer",
                "example": 4711000000
              },
              "earnings_per_share_diluted": {
                "type": "number",
                "example": 3.49
              },
              "weighted_average_shares_basic": {
                "type": "integer",
                "example": 449000000
              },
              "general_and_administrative": {
                "type": "integer",
                "example": 355000000
              },
              "cost_of_revenue": {
                "type": "integer",
                "example": 598000000
              },
              "stock_based_compensation": {
                "nullable": true
              },
              "total_revenue": {
                "type": "integer",
                "example": 5309000000
              },
              "net_income": {
                "type": "integer",
                "example": 1573000000
              },
              "net_income_available_to_common": {
                "type": "integer",
                "example": 1573000000
              },
              "research_and_development": {
                "type": "integer",
                "example": 984000000
              },
              "depreciation_and_amortization": {
                "type": "integer",
                "example": 42000000
              },
              "weighted_average_shares_diluted": {
                "type": "integer",
                "example": 451000000
              }
            }
          },
          "balance_sheet": {
            "type": "object",
            "properties": {
              "goodwill": {
                "type": "integer",
                "example": 12803000000
              },
              "retained_earnings": {
                "type": "integer",
                "example": 35227000000
              },
              "total_assets": {
                "type": "integer",
                "example": 30007000000
              },
              "current_liabilities": {
                "type": "integer",
                "example": 9474000000
              },
              "total_debt": {
                "nullable": true
              },
              "total_liabilities": {
                "type": "integer",
                "example": 15164000000
              },
              "long_term_debt": {
                "type": "integer",
                "example": 4127000000
              },
              "accounts_receivable": {
                "type": "integer",
                "example": 1612000000
              },
              "inventory": {
                "nullable": true
              },
              "current_assets": {
                "type": "integer",
                "example": 11023000000
              },
              "property_plant_equipment": {
                "type": "integer",
                "example": 1969000000
              },
              "intangible_assets": {
                "type": "integer",
                "example": 933000000
              },
              "working_capital": {
                "nullable": true
              },
              "accounts_payable": {
                "type": "integer",
                "example": 357000000
              },
              "stockholders_equity": {
                "type": "integer",
                "example": 14843000000
              },
              "cash_and_equivalents": {
                "type": "integer",
                "example": 7660000000
              },
              "temporary_equity": {
                "nullable": true
              }
            }
          },
          "cash_flow": {
            "type": "object",
            "properties": {
              "share_repurchases": {
                "type": "integer",
                "example": -4500000000
              },
              "operating_cash_flow": {
                "type": "integer",
                "example": 3114000000
              },
              "net_cash_investing": {
                "type": "integer",
                "example": 177000000
              },
              "net_cash_financing": {
                "type": "integer",
                "example": -2770000000
              },
              "free_cash_flow": {
                "nullable": true
              },
              "capital_expenditures": {
                "type": "integer",
                "example": -78000000
              },
              "dividends_paid": {
                "nullable": true
              }
            }
          },
          "filing_info": {
            "type": "object",
            "properties": {
              "filing_type": {
                "type": "string",
                "example": "10-Q"
              },
              "filing_date": {
                "type": "string",
                "example": "2024-06-26"
              },
              "period_end_date": {
                "type": "string",
                "example": "2024-05-31"
              }
            }
          }
        }
      },
      "ElectricVehicle": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "example": "Tesla"
          },
          "model": {
            "type": "string",
            "example": "Model 3"
          },
          "year_start": {
            "type": "string",
            "example": "2023"
          },
          "battery_capacity": {
            "type": "string",
            "example": "60.0 kWh"
          },
          "battery_type": {
            "type": "string",
            "example": "Lithium-ion"
          },
          "charge_port": {
            "type": "string",
            "example": "CCS"
          },
          "charge_power": {
            "type": "string",
            "example": "11 kW AC"
          },
          "electric_range": {
            "type": "string",
            "example": "420 km"
          },
          "total_power": {
            "type": "string",
            "example": "208 kW (283 PS)"
          },
          "drive": {
            "type": "string",
            "example": "Rear"
          },
          "vehicle_consumption": {
            "type": "string",
            "example": "112 Wh/km"
          },
          "co2_emissions": {
            "type": "string",
            "example": "0 g/km"
          },
          "length": {
            "type": "string",
            "example": "4720 mm"
          },
          "width": {
            "type": "string",
            "example": "1849 mm"
          },
          "height": {
            "type": "string",
            "example": "1441 mm"
          },
          "seats": {
            "type": "string",
            "example": "5 people"
          }
        }
      },
      "ElectricVehicleOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        }
      },
      "EmbeddingsRequest": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Query text to embed. Maximum 5000 characters.",
            "maxLength": 5000
          }
        },
        "required": [
          "text"
        ]
      },
      "EmbeddingsResponse": {
        "type": "object",
        "properties": {
          "embeddings": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "A 768-dimensional vector as an array that encodes the meaning of the input text."
          }
        }
      },
      "EmbeddingsOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        }
      },
      "EmojiResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "example": "U+1F642"
            },
            "character": {
              "type": "string",
              "example": "🙂"
            },
            "image": {
              "type": "string",
              "format": "uri",
              "example": "https://media.api-ninjas.com/emojis/U%2B1F642.png"
            },
            "name": {
              "type": "string",
              "example": "slightly smiling face"
            },
            "group": {
              "type": "string",
              "example": "smileys_emotion"
            },
            "subgroup": {
              "type": "string",
              "example": "face_smiling"
            }
          }
        }
      },
      "ETFResponse": {
        "type": "object",
        "properties": {
          "etf_ticker": {
            "type": "string",
            "description": "ETF ticker symbol."
          },
          "etf_name": {
            "type": "string",
            "description": "ETF name."
          },
          "isin": {
            "type": "string",
            "description": "International Securities Identification Number (ISIN) of the ETF."
          },
          "cusip": {
            "type": "string",
            "description": "Nine-character Committee on Uniform Security Identification Procedures (CUSIP) identifier for the ETF."
          },
          "country": {
            "type": "string",
            "description": "ISO country code of the exchange the ETF is listed on (e.g. a Tokyo-listed ETF is JP). See domicile for the fund's legal home."
          },
          "domicile": {
            "type": "string",
            "description": "ISO country code of the fund's legal domicile, which can differ from where it trades (e.g. an Ireland-domiciled UCITS listed in London is country GB, domicile IE)."
          },
          "price": {
            "type": "number",
            "description": "Current price of this listing, in its trading currency (see the matching entry in listings)."
          },
          "expense_ratio": {
            "type": "number",
            "description": "Annual expense ratio of the ETF as a percentage."
          },
          "aum": {
            "type": "number",
            "description": "Assets under management of the ETF, in the fund's local trading currency (see aum_currency). Use aum_usd for a USD figure."
          },
          "aum_currency": {
            "type": "string",
            "description": "ISO 4217 currency code that aum is denominated in (e.g. USD, JPY, EUR)."
          },
          "aum_usd": {
            "type": "number",
            "nullable": true,
            "description": "Assets under management converted to USD."
          },
          "num_holdings": {
            "type": "integer",
            "description": "Number of holdings in the ETF."
          },
          "holdings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "num_shares": {
                  "type": "integer"
                },
                "weight": {
                  "type": "number"
                },
                "value": {
                  "type": "number"
                },
                "last_updated": {
                  "type": "integer"
                }
              }
            },
            "description": "Array of top holdings in the ETF, each with ticker, name, and percentage weight."
          },
          "performance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundPerformance"
              }
            ],
            "nullable": true,
            "description": "Trailing total-return performance for this share class. Business tier and above (Business, Professional, or any annual subscription). Null when the ETF files no N-PORT -- unit investment trusts such as SPY, DIA and MDY, commodity grantor trusts such as GLD, SLV and USO, ETNs, and non-US-domiciled funds. About 69% of US-listed ETFs are covered."
          },
          "listings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ETFListing"
            },
            "description": "Every exchange listing of this fund (the same ISIN under different tickers and currencies), most traded first. Holdings, expense ratio and AUM belong to the fund and are the same for every listing (aum is stated in each listing's currency; aum_usd matches). Listings with no trade in the past 14 days are left out."
          }
        }
      },
      "ETFListing": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Ticker of this listing, with exchange suffix (e.g. SXR8.DE)."
          },
          "exchange": {
            "type": "string",
            "description": "Exchange code (e.g. LSE, XETRA, NASDAQ)."
          },
          "country": {
            "type": "string",
            "nullable": true,
            "description": "ISO country code of the exchange."
          },
          "currency": {
            "type": "string",
            "nullable": true,
            "description": "Trading currency: an ISO 4217 code, or GBX (UK pence) or ZAC (South African cents) for listings quoted in those units."
          },
          "price": {
            "type": "number",
            "nullable": true,
            "description": "Latest price in currency. Premium only."
          },
          "volume": {
            "type": "integer",
            "nullable": true,
            "description": "Shares traded in the latest session. Premium only."
          },
          "avg_volume": {
            "type": "integer",
            "nullable": true,
            "description": "Average daily shares traded; listings are sorted by this. Premium only."
          }
        }
      },
      "ETFListResponse": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of every supported ETF ticker symbol."
      },
      "FundPerformance": {
        "type": "object",
        "description": "Total returns for this share class, from the fund's own SEC Form N-PORT filings: net of fees, distributions reinvested, expressed as a percent (17.7519 means +17.75%). Sourced from quarterly regulatory filings rather than live pricing, so `as_of` typically trails the current month by 3-6 months depending on the fund's fiscal calendar. History begins mid-2019, so no 10-year figure exists. Any window whose months are not all present is null rather than computed over a partial period.",
        "properties": {
          "as_of": {
            "type": "string",
            "format": "date",
            "description": "Month-end date the figures run through."
          },
          "months_available": {
            "type": "integer",
            "description": "Count of monthly observations on file for this share class."
          },
          "return_1m": {
            "type": "number",
            "nullable": true,
            "description": "Total return over the most recent month, in percent."
          },
          "return_3m": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over the trailing 3 months, in percent."
          },
          "return_6m": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over the trailing 6 months, in percent."
          },
          "return_ytd": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return from January of the as-of year, in percent."
          },
          "return_1y": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over the trailing 12 months, in percent."
          },
          "return_3y": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over the trailing 36 months, in percent."
          },
          "return_5y": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over the trailing 60 months, in percent."
          },
          "annualized_3y": {
            "type": "number",
            "nullable": true,
            "description": "Trailing 3-year return annualized (geometric), in percent."
          },
          "annualized_5y": {
            "type": "number",
            "nullable": true,
            "description": "Trailing 5-year return annualized (geometric), in percent."
          },
          "since": {
            "type": "string",
            "format": "date",
            "description": "First month of available return history for this share class."
          },
          "return_since": {
            "type": "number",
            "nullable": true,
            "description": "Cumulative total return over all available history, in percent."
          },
          "annualized_since": {
            "type": "number",
            "nullable": true,
            "description": "All-available-history return annualized, in percent. Null under 12 months."
          },
          "best_month": {
            "$ref": "#/components/schemas/FundMonthlyReturn"
          },
          "worst_month": {
            "$ref": "#/components/schemas/FundMonthlyReturn"
          },
          "volatility_3y": {
            "type": "number",
            "nullable": true,
            "description": "Annualized standard deviation of monthly returns over the trailing 36 months, in percent."
          },
          "monthly_returns": {
            "type": "array",
            "description": "Full monthly total-return series, oldest first.",
            "items": {
              "$ref": "#/components/schemas/FundMonthlyReturn"
            }
          },
          "source": {
            "type": "string",
            "description": "Provenance of the figures."
          }
        }
      },
      "FundMonthlyReturn": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string",
            "description": "Return month as YYYY-MM."
          },
          "total_return": {
            "type": "number",
            "description": "Total return for that month, in percent."
          }
        }
      },
      "EuriborRate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the Euribor rate, including its maturity (e.g. Euribor - 3 months)."
          },
          "rate_pct": {
            "type": "number",
            "description": "Current rate in percent."
          },
          "last_updated": {
            "type": "string",
            "description": "Date the rate was last updated."
          }
        }
      },
      "EVChargerResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "is_active": {
              "type": "boolean",
              "description": "Indicates if the charging station is active."
            },
            "name": {
              "type": "string",
              "description": "Name of the charging station."
            },
            "address": {
              "type": "string",
              "description": "Address of the charging station."
            },
            "city": {
              "type": "string",
              "description": "City where the charging station is located."
            },
            "region": {
              "type": "string",
              "description": "Region where the charging station is located."
            },
            "country": {
              "type": "string",
              "description": "Country where the charging station is located."
            },
            "latitude": {
              "type": "number",
              "format": "double",
              "description": "Latitude coordinate of the charging station."
            },
            "longitude": {
              "type": "number",
              "format": "double",
              "description": "Longitude coordinate of the charging station."
            },
            "connections": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type_name": {
                    "type": "string",
                    "description": "Name of the connector type."
                  },
                  "type_official": {
                    "type": "string",
                    "description": "Official name of the connector type."
                  },
                  "level": {
                    "type": "integer",
                    "description": "Charging level of the connector.",
                    "nullable": true
                  },
                  "num_connectors": {
                    "type": "integer",
                    "description": "Number of connectors available."
                  }
                }
              },
              "description": "List of connections available at the charging station."
            }
          }
        }
      },
      "ExchangeRateResponse": {
        "type": "object",
        "properties": {
          "currency_pair": {
            "type": "string",
            "example": "GBP_AUD"
          },
          "rate": {
            "type": "number",
            "example": 1.88194
          },
          "timestamp": {
            "type": "integer",
            "description": "Unix timestamp (in seconds) indicating the time at which the exchange rate was applied.",
            "example": 1777407695
          }
        }
      },
      "HistoricalExchangeRateItem": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "example": "USD_EUR"
          },
          "date": {
            "type": "string",
            "format": "date",
            "example": "2020-03-15"
          },
          "rate": {
            "type": "number",
            "example": 0.896585
          }
        }
      },
      "HistoricalExchangeRateResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HistoricalExchangeRateItem"
        }
      },
      "ExchangeRateOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer"
          }
        }
      },
      "Executive": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The executive's full name."
          },
          "position": {
            "type": "string",
            "description": "The executive's principal position/title as printed in the proxy (e.g., Chief Executive Officer)."
          },
          "is_ceo": {
            "type": "boolean",
            "description": "True for the principal executive officer (CEO)."
          },
          "fiscal_year": {
            "type": "integer",
            "description": "The fiscal year this compensation row covers."
          },
          "salary": {
            "type": "number",
            "description": "Salary in USD. Premium tiers only; returned as a premium-only message for free users."
          },
          "bonus": {
            "type": "number",
            "description": "Bonus in USD. Premium tiers only."
          },
          "stock_awards": {
            "type": "number",
            "description": "Grant-date fair value of stock awards in USD. Premium tiers only."
          },
          "option_awards": {
            "type": "number",
            "description": "Grant-date fair value of option awards in USD. Premium tiers only."
          },
          "non_equity_incentive": {
            "type": "number",
            "description": "Non-equity incentive plan compensation in USD. Premium tiers only."
          },
          "pension_and_deferred_compensation": {
            "type": "number",
            "description": "Change in pension value and nonqualified deferred compensation earnings in USD. Premium tiers only."
          },
          "all_other_compensation": {
            "type": "number",
            "description": "All other compensation in USD. Premium tiers only."
          },
          "total": {
            "type": "number",
            "description": "Total compensation in USD."
          }
        }
      },
      "PayVersusPerformance": {
        "type": "object",
        "description": "Structured Item 402(v) Pay Versus Performance disclosure (fiscal years 2022 onward). Premium tiers only.",
        "properties": {
          "fiscal_year": {
            "type": "integer"
          },
          "ceo": {
            "type": "string",
            "description": "Name of the principal executive officer for the year."
          },
          "ceo_total_compensation": {
            "type": "number",
            "description": "CEO Summary Compensation Table total, in USD."
          },
          "ceo_compensation_actually_paid": {
            "type": "number",
            "description": "CEO Compensation Actually Paid (CAP), in USD. Can be negative."
          },
          "average_neo_total_compensation": {
            "type": "number",
            "description": "Average Summary Compensation Table total for the non-CEO named executive officers, in USD."
          },
          "average_neo_compensation_actually_paid": {
            "type": "number",
            "description": "Average Compensation Actually Paid for the non-CEO named executive officers, in USD."
          },
          "total_shareholder_return": {
            "type": "number",
            "description": "Company total shareholder return, indexed to a $100 initial investment."
          },
          "peer_group_total_shareholder_return": {
            "type": "number",
            "description": "Peer-group total shareholder return, indexed to a $100 initial investment."
          },
          "net_income": {
            "type": "number",
            "description": "Company net income in USD. Can be negative."
          },
          "company_selected_measure": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The company-selected financial performance measure."
              },
              "value": {
                "type": "number",
                "description": "The value of the company-selected measure for the year."
              }
            }
          }
        }
      },
      "ExecutiveCompensationResponse": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "The company's stock ticker."
          },
          "company_name": {
            "type": "string",
            "description": "The company's name."
          },
          "cik": {
            "type": "string",
            "description": "The company's SEC Central Index Key (CIK)."
          },
          "executives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Executive"
            }
          },
          "pay_versus_performance": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayVersusPerformance"
            }
          }
        }
      },
      "Exercise": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the exercise."
          },
          "type": {
            "type": "string",
            "description": "Exercise type.",
            "enum": [
              "cardio",
              "olympic_weightlifting",
              "plyometrics",
              "powerlifting",
              "strength",
              "stretching",
              "strongman"
            ]
          },
          "muscle": {
            "type": "string",
            "description": "Muscle group targeted by the exercise.",
            "enum": [
              "abdominals",
              "abductors",
              "adductors",
              "biceps",
              "calves",
              "chest",
              "forearms",
              "glutes",
              "hamstrings",
              "lats",
              "lower_back",
              "middle_back",
              "neck",
              "quadriceps",
              "traps",
              "triceps"
            ]
          },
          "difficulty": {
            "type": "string",
            "description": "Difficulty level of the exercise.",
            "enum": [
              "beginner",
              "intermediate",
              "expert"
            ]
          },
          "instructions": {
            "type": "string",
            "description": "Text instructions describing how to perform the exercise."
          },
          "equipments": {
            "type": "array",
            "description": "Array of equipment names required for the exercise.",
            "items": {
              "type": "string"
            }
          },
          "safety_info": {
            "type": "string",
            "description": "Additional safety guidance and cues for performing the exercise safely."
          },
          "images": {
            "type": "array",
            "description": "Image URLs showing the exercise, in movement order (usually the start and finish positions). Premium only: Learner, Developer, Business, and Professional subscriptions. Omitted for Free accounts, anonymous demos, and unknown subscription tiers, and for exercises that do not have images yet.",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "example": [
              "https://media.api-ninjas.com/exercise_images/incline-hammer-curls-01.png",
              "https://media.api-ninjas.com/exercise_images/incline-hammer-curls-02.png"
            ],
            "x-premium": true
          }
        },
        "required": [
          "name",
          "type",
          "muscle",
          "difficulty",
          "instructions"
        ]
      },
      "ExercisesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the issue."
          }
        }
      },
      "FaceDetectResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "x": {
              "type": "integer",
              "format": "int32",
              "description": "The x-coordinate of the top-left corner of the bounding box."
            },
            "y": {
              "type": "integer",
              "format": "int32",
              "description": "The y-coordinate of the top-left corner of the bounding box."
            },
            "width": {
              "type": "integer",
              "format": "int32",
              "description": "Width of the bounding box in pixels."
            },
            "height": {
              "type": "integer",
              "format": "int32",
              "description": "Height of the bounding box in pixels."
            }
          },
          "required": [
            "x",
            "y",
            "width",
            "height"
          ]
        }
      },
      "FaceDetectOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "Fact": {
        "type": "object",
        "properties": {
          "fact": {
            "type": "string",
            "description": "A random fact."
          }
        }
      },
      "FactsOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "GDPResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "country": {
              "type": "string",
              "description": "ISO-3166 alpha-2 code of the country."
            },
            "year": {
              "type": "integer",
              "description": "Year for which GDP data is provided."
            },
            "gdp_growth": {
              "type": "number",
              "description": "GDP growth rate."
            },
            "gdp_nominal": {
              "type": "number",
              "description": "Nominal GDP in billion USD."
            },
            "gdp_per_capita_nominal": {
              "type": "number",
              "description": "Nominal GDP per capita in USD."
            },
            "gdp_ppp": {
              "type": "number",
              "description": "GDP based on purchasing power parity (PPP) in billion USD."
            },
            "gdp_per_capita_ppp": {
              "type": "number",
              "description": "GDP per capita based on purchasing power parity (PPP) in USD."
            },
            "gdp_ppp_share": {
              "type": "number",
              "description": "Share of world total GDP based on PPP."
            }
          }
        }
      },
      "GeocodingResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the city."
            },
            "latitude": {
              "type": "number",
              "format": "double",
              "description": "Latitude coordinate of the city."
            },
            "longitude": {
              "type": "number",
              "format": "double",
              "description": "Longitude coordinate of the city."
            },
            "country": {
              "type": "string",
              "description": "ISO country code of the city."
            },
            "state": {
              "type": "string",
              "description": "State, province, or region of the city (e.g. England). Not returned for all locations."
            },
            "admin1_name": {
              "type": "string",
              "nullable": true,
              "description": "First-level administrative division name (state, province, region). e.g. \"England\"."
            },
            "admin1_iso": {
              "type": "string",
              "nullable": true,
              "description": "ISO 3166-2 code for the first-level division. e.g. \"GB-ENG\"."
            },
            "admin2_name": {
              "type": "string",
              "nullable": true,
              "description": "Second-level administrative division (county or equivalent). Coverage is about 86% globally; notably sparse in Germany and Russia."
            },
            "timezone": {
              "type": "string",
              "nullable": true,
              "description": "IANA timezone name. e.g. \"Europe/London\"."
            },
            "population": {
              "type": "integer",
              "nullable": true,
              "description": "Population of the matched place."
            },
            "elevation_m": {
              "type": "integer",
              "nullable": true,
              "description": "Elevation in metres of the matched place. Surveyed where available, otherwise the SRTM DEM value for the settlement — not a per-coordinate raster sample."
            },
            "country_name": {
              "type": "string",
              "nullable": true,
              "description": "Full country name."
            },
            "iso3": {
              "type": "string",
              "nullable": true,
              "description": "ISO 3166-1 alpha-3 country code."
            },
            "iso_numeric": {
              "type": "string",
              "nullable": true,
              "description": "ISO 3166-1 numeric country code."
            },
            "capital": {
              "type": "string",
              "nullable": true,
              "description": "Capital city."
            },
            "continent": {
              "type": "string",
              "nullable": true,
              "description": "Two-letter continent code."
            },
            "region": {
              "type": "string",
              "nullable": true,
              "description": "UN M49 region name."
            },
            "subregion": {
              "type": "string",
              "nullable": true,
              "description": "UN M49 sub-region name."
            },
            "currency": {
              "type": "string",
              "nullable": true,
              "description": "ISO 4217 currency code."
            },
            "currency_name": {
              "type": "string",
              "nullable": true,
              "description": "Currency name."
            },
            "calling_code": {
              "type": "string",
              "nullable": true,
              "description": "International dialling prefix. e.g. \"+44\"."
            },
            "languages": {
              "type": "string",
              "nullable": true,
              "description": "Comma-separated BCP-47 language tags."
            },
            "tld": {
              "type": "string",
              "nullable": true,
              "description": "Country-code top-level domain."
            },
            "driving_side": {
              "type": "string",
              "nullable": true,
              "description": "\"left\" or \"right\"."
            },
            "is_eu": {
              "type": "boolean",
              "nullable": true,
              "description": "Whether the country is an EU member state."
            },
            "is_eea": {
              "type": "boolean",
              "nullable": true,
              "description": "Whether the country is in the European Economic Area."
            },
            "plus_code": {
              "type": "string",
              "nullable": true,
              "description": "Open Location Code (Plus Code) for the coordinate."
            },
            "geohash": {
              "type": "string",
              "nullable": true,
              "description": "9-character geohash."
            },
            "dms": {
              "type": "object",
              "nullable": true,
              "description": "Degrees/minutes/seconds representation.",
              "properties": {
                "latitude": {
                  "type": "string"
                },
                "longitude": {
                  "type": "string"
                }
              }
            },
            "mercator": {
              "type": "object",
              "nullable": true,
              "description": "Web Mercator (EPSG:3857) coordinates in metres.",
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              }
            },
            "antipode": {
              "type": "object",
              "nullable": true,
              "description": "The point diametrically opposite on the globe.",
              "properties": {
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                }
              }
            },
            "hemisphere": {
              "type": "object",
              "nullable": true,
              "description": "Hemisphere indicators.",
              "properties": {
                "north_south": {
                  "type": "string"
                },
                "east_west": {
                  "type": "string"
                }
              }
            },
            "qibla_degrees": {
              "type": "number",
              "nullable": true,
              "description": "Bearing to the Kaaba in Mecca, degrees clockwise from true north."
            },
            "osm": {
              "type": "object",
              "nullable": true,
              "description": "OpenStreetMap view, edit and note URLs for the coordinate.",
              "properties": {
                "url": {
                  "type": "string"
                },
                "edit_url": {
                  "type": "string"
                },
                "note_url": {
                  "type": "string"
                }
              }
            },
            "sun": {
              "type": "object",
              "nullable": true,
              "description": "Sunrise, sunset, solar noon and the three twilight bands for today (UTC). Sub-values are null above the polar circles, where polar_day / polar_night indicate why.",
              "properties": {
                "sunrise": {
                  "type": "string",
                  "nullable": true
                },
                "sunset": {
                  "type": "string",
                  "nullable": true
                },
                "solar_noon": {
                  "type": "string",
                  "nullable": true
                },
                "civil_dawn": {
                  "type": "string",
                  "nullable": true
                },
                "civil_dusk": {
                  "type": "string",
                  "nullable": true
                },
                "nautical_dawn": {
                  "type": "string",
                  "nullable": true
                },
                "nautical_dusk": {
                  "type": "string",
                  "nullable": true
                },
                "astronomical_dawn": {
                  "type": "string",
                  "nullable": true
                },
                "astronomical_dusk": {
                  "type": "string",
                  "nullable": true
                }
              }
            },
            "climate_zone": {
              "type": "string",
              "nullable": true,
              "description": "Köppen-Geiger climate classification code. e.g. \"Cfb\". Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "climate_zone_name": {
              "type": "string",
              "nullable": true,
              "description": "Human-readable climate classification. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "urbanisation": {
              "type": "string",
              "nullable": true,
              "description": "GHSL degree-of-urbanisation class: URBAN_CENTRE, DENSE_URBAN_CLUSTER, SEMI_DENSE_URBAN, SUBURBAN, RURAL_CLUSTER, LOW_DENSITY_RURAL, VERY_LOW_DENSITY_RURAL or WATER. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "urbanisation_name": {
              "type": "string",
              "nullable": true,
              "description": "Human-readable urbanisation class. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "is_land": {
              "type": "boolean",
              "nullable": true,
              "description": "Whether the coordinate falls on land. Inland water counts as not land. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "nearest_airport": {
              "type": "object",
              "nullable": true,
              "description": "Nearest airport carrying an IATA code, with distance and bearing. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value.",
              "properties": {
                "name": {
                  "type": "string"
                },
                "iata": {
                  "type": "string"
                },
                "icao": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                },
                "municipality": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "scheduled_service": {
                  "type": "boolean"
                },
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "elevation_m": {
                  "type": "integer",
                  "nullable": true
                },
                "distance_km": {
                  "type": "number"
                },
                "bearing_degrees": {
                  "type": "number"
                }
              }
            },
            "county": {
              "type": "string",
              "nullable": true,
              "description": "US county. Returned only from an authoritative match; null rather than a guess. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "zip_code": {
              "type": "string",
              "nullable": true,
              "description": "US ZIP code of the matched place. See zip_code_accuracy — this is not a point-in-polygon result. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "zip_code_accuracy": {
              "type": "string",
              "nullable": true,
              "description": "How zip_code was derived: \"exact\" (the ZIP was the input), \"place_centroid\" (the matched place's ZIP), or \"nearest\" (nearest ZIP centroid). Premium field: Free, Learner and Developer tiers receive a notice string in place of the value."
            },
            "area_codes": {
              "type": "array",
              "nullable": true,
              "description": "US telephone area codes serving the location. Premium field: Free, Learner and Developer tiers receive a notice string in place of the value.",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "name",
            "latitude",
            "longitude",
            "country"
          ]
        }
      },
      "GeocodingOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message."
          }
        }
      },
      "ReverseGeocodingResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the city."
            },
            "country": {
              "type": "string",
              "description": "The ISO country code."
            },
            "state": {
              "type": "string",
              "description": "The state or region of the city."
            },
            "county": {
              "type": "string",
              "nullable": true,
              "description": "US county containing the location (e.g. San Francisco County). Returned on every response; null outside the United States or where the location cannot be matched to a known US place. Premium subscribers see the value; other tiers receive a notice string."
            },
            "zip_code": {
              "type": "string",
              "nullable": true,
              "description": "US ZIP code for the location. null outside the United States. Premium subscribers see the value; other tiers receive a notice string."
            },
            "area_codes": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              },
              "description": "US telephone area codes serving the location. null outside the United States. Premium subscribers see the value; other tiers receive a notice string."
            },
            "timezone": {
              "type": "string",
              "nullable": true,
              "description": "IANA timezone name (e.g. America/Los_Angeles). null outside the United States. Premium subscribers see the value; other tiers receive a notice string."
            }
          },
          "required": [
            "name",
            "country",
            "state"
          ]
        }
      },
      "GoldPriceResponse": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number",
            "description": "The current gold futures price. In USD per troy ounce by default; converted when the currency and/or unit parameters are used."
          },
          "timestamp": {
            "type": "integer",
            "description": "The timestamp of the gold futures price in Unix format (in seconds)."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit (troy_ounce by default; changes when the unit parameter is used)."
          },
          "currency_unit": {
            "type": "string",
            "description": "The price currency (USD by default; changes when the currency parameter is used)."
          },
          "futures_contract": {
            "type": "string",
            "description": "The futures contract `price` is quoted for (e.g., GCZ26 = December 2026 gold). Omitted when the contract can't be identified."
          },
          "futures_contract_month": {
            "type": "string",
            "description": "Delivery month of futures_contract (YYYY-MM)."
          }
        }
      },
      "HistoricalGoldPriceResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "open": {
              "type": "number",
              "description": "The opening price for this time period in USD."
            },
            "low": {
              "type": "number",
              "description": "The lowest price during this time period in USD."
            },
            "high": {
              "type": "number",
              "description": "The highest price during this time period in USD."
            },
            "close": {
              "type": "number",
              "description": "The closing price for this time period in USD."
            },
            "volume": {
              "type": "integer",
              "description": "The trading volume during this time period."
            },
            "time": {
              "type": "integer",
              "description": "The timestamp for this data point in Unix format (in seconds)."
            }
          }
        }
      },
      "GoldSpotResponse": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number",
            "description": "The gold spot price (XAU/USD), in USD per troy ounce by default."
          },
          "bid": {
            "type": "number",
            "description": "Spot bid price."
          },
          "ask": {
            "type": "number",
            "description": "Spot ask price."
          },
          "spot_type": {
            "type": "string",
            "enum": [
              "composite"
            ],
            "description": "composite = blended from multiple live market quotes; refreshed every minute on Developer plans and about every 10 seconds on Business plans and above."
          },
          "previous_close": {
            "type": "number",
            "description": "The previous session's closing spot price."
          },
          "change_24h": {
            "type": "number",
            "description": "Change versus the previous close."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change versus the previous close."
          },
          "high_24h": {
            "type": "number",
            "description": "The session's high price."
          },
          "low_24h": {
            "type": "number",
            "description": "The session's low price."
          },
          "market_status": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ],
            "description": "Whether gold is trading (Sunday 6 PM to Friday 5 PM ET, with a daily 5-6 PM ET break)."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the spot price."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit."
          },
          "currency_unit": {
            "type": "string",
            "description": "Price currency, USD by default."
          }
        }
      },
      "Helicopter": {
        "type": "object",
        "properties": {
          "manufacturer": {
            "type": "string",
            "description": "Company that designed and built the helicopter."
          },
          "model": {
            "type": "string",
            "description": "Helicopter model name."
          },
          "max_speed_sl_knots": {
            "type": "string",
            "description": "Maximum max. air speed in knots."
          },
          "cruise_speed_sl_knots": {
            "type": "string",
            "description": "Cruise speed at sea level in knots."
          },
          "range_nautical_miles": {
            "type": "string",
            "description": "Range of the helicopter in nautical miles."
          },
          "cruise_time_min": {
            "type": "string",
            "description": "Cruise time in minutes."
          },
          "fuel_capacity_gallons": {
            "type": "string",
            "description": "Fuel capacity in gallons."
          },
          "gross_external_load_lbs": {
            "type": "string",
            "description": "Gross external load in pounds."
          },
          "external_load_limit_lbs": {
            "type": "string",
            "description": "External load limit in pounds."
          },
          "main_rotor_diameter_ft": {
            "type": "string",
            "description": "Main rotor diameter in feet."
          },
          "num_blades": {
            "type": "string",
            "description": "Number of blades."
          },
          "blade_material": {
            "type": "string",
            "description": "Blade material."
          },
          "rotor_type": {
            "type": "string",
            "description": "Rotor type."
          },
          "storage_width_ft": {
            "type": "string",
            "description": "Storage width in feet."
          },
          "length_ft": {
            "type": "string",
            "description": "Length of the helicopter in feet."
          },
          "height_ft": {
            "type": "string",
            "description": "Height of the helicopter in feet."
          }
        }
      },
      "HelicopterOpenapi_Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message."
          }
        }
      },
      "HistoricalEventsOpenapi_HistoricalEvent": {
        "type": "object",
        "properties": {
          "year": {
            "type": "string",
            "description": "The year of the event, can be a negative value for BC/BCE years."
          },
          "month": {
            "type": "string",
            "description": "The month of the event."
          },
          "day": {
            "type": "string",
            "description": "The day of the month of the event."
          },
          "event": {
            "type": "string",
            "description": "Description of the historical event."
          }
        }
      },
      "HistoricalEventsOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message detailing what went wrong."
          }
        }
      },
      "HistoricalFigure": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the historical figure."
          },
          "title": {
            "type": "string",
            "description": "Title or role of the historical figure."
          },
          "info": {
            "type": "object",
            "properties": {
              "born": {
                "type": "string",
                "description": "Birth date and location."
              },
              "died": {
                "type": "string",
                "description": "Death date and location."
              },
              "years": {
                "type": "string",
                "description": "Active years."
              },
              "awards": {
                "type": "string",
                "description": "Awards received."
              },
              "office": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Offices held."
              },
              "parents": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Names of parents."
              },
              "spouses": {
                "type": "string",
                "description": "Names of spouses."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Names of children."
              },
              "partners": {
                "type": "string",
                "description": "Names of partners."
              },
              "conflicts": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Conflicts participated in."
              },
              "occupation": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Occupations."
              },
              "notable_work": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Notable works."
              },
              "resting_place": {
                "type": "string",
                "description": "Location of resting place."
              },
              "cause_of_death": {
                "type": "string",
                "description": "Cause of death."
              }
            }
          }
        }
      },
      "Hobby": {
        "type": "object",
        "properties": {
          "hobby": {
            "type": "string",
            "description": "Name of the hobby."
          },
          "link": {
            "type": "string",
            "format": "uri",
            "description": "Wikipedia link detailing the hobby."
          },
          "category": {
            "type": "string",
            "description": "Category of the hobby."
          }
        },
        "required": [
          "hobby",
          "link"
        ]
      },
      "HobbiesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "Holiday": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "The name of the country."
          },
          "iso": {
            "type": "string",
            "description": "ISO 3166-2 country code."
          },
          "year": {
            "type": "integer",
            "description": "The year for which holidays are being queried."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date of the holiday."
          },
          "day": {
            "type": "string",
            "description": "The day of the week on which the holiday falls."
          },
          "name": {
            "type": "string",
            "description": "The name of the holiday."
          },
          "type": {
            "type": "string",
            "description": "The type of holiday. Possible values:\n- `PUBLIC_HOLIDAY`: A nationally or federally mandated day off that applies to the general population.\n- `STATE_HOLIDAY`: A holiday observed at the state or regional level within a country, applicable to residents of that state but not necessarily the nation as a whole.\n- `LOCAL_HOLIDAY`: A holiday observed only within a specific city, district, or municipality, with no broader regional or national application.\n- `PROVINCE_TERRITORY_HOLIDAY`: A holiday specific to a province or territory within a federal state, such as those observed in Canadian provinces or Australian territories.\n- `DE_FACTO_HOLIDAY`: A day that is widely treated as a holiday in practice — through informal tradition, employer convention, or cultural norm — without formal legal mandate.\n- `SUBSTITUTE_HOLIDAY`: A replacement holiday granted when an official holiday falls on a weekend or non-working day, or when a holiday is rescheduled, suspended, or cancelled.\n- `BANK_HOLIDAY`: A day on which banks and financial institutions are officially closed. May or may not align with a general public holiday.\n- `GOVERNMENT_HOLIDAY`: A day off that applies specifically to government employees and public sector workers, which may not extend to the private sector or general population.\n- `PRIVATE_SECTOR_HOLIDAY`: A day off that applies specifically to private sector employees, which may differ from public sector or general population holidays.\n- `OPTIONAL_HOLIDAY`: A holiday that individuals or employers may choose to observe, but which carries no universal legal obligation.\n- `RESTRICTED_TRADING_DAY`: A day on which commercial or retail activity is permitted but subject to legal restrictions, such as limited trading hours. Not a full day off.\n- `CHRISTIAN_HOLIDAY`: A holiday or observance rooted in Western Christian (Catholic or Protestant) tradition, whether nationally mandated or culturally observed.\n- `ORTHODOX_HOLIDAY`: A holiday or observance rooted specifically in Eastern Orthodox Christian tradition, distinct from Western Christian holidays in date or practice.\n- `MUSLIM_HOLIDAY`: A holiday or observance rooted in Islamic tradition, whether nationally mandated or culturally observed.\n- `JEWISH_HOLIDAY`: A holiday or observance rooted in Jewish religious tradition, whether nationally mandated or culturally observed.\n- `HINDU_HOLIDAY`: A holiday or observance rooted in Hindu religious tradition, whether nationally mandated or culturally observed.\n- `OBSERVANCE`: A recognized day of cultural, civic, or commemorative significance that is not an official day off.\n- `UNITED_NATIONS_OBSERVANCE`: An observance designated by the United Nations or another international body, recognised globally rather than within a single country or region.\n- `FLAG_DAY`: A day designated to honour a nation's flag, often marked by ceremonies or displays. May be a public holiday or a symbolic observance only.\n- `SILENT_DAY`: A day on which noise, public gatherings, or commercial activity is restricted by law or strong cultural convention, typically for remembrance or mourning.\n- `HALF_DAY`: A partial holiday on which businesses or institutions close for only part of the day, typically the afternoon.\n- `WORKING_DAY`: A regular working day that may coincide with a notable calendar event but is not a day off.\n- `SEASON`: An astronomical event marking the start of a new season — specifically an equinox or solstice.\n- `CLOCK_CHANGE`: A day on which clocks are adjusted for daylight saving time. Not a day off, but a notable calendar event affecting daily schedules.\n- `COVID_19_MEASURE`: A non-working day or closure introduced specifically in response to the COVID-19 pandemic, including lockdowns, work suspensions, and emergency public holidays.\n- `SPORTING_EVENT`: A day designated around a major sporting event, which may result in altered working hours, public gatherings, or unofficial closures.",
            "enum": [
              "PUBLIC_HOLIDAY",
              "STATE_HOLIDAY",
              "LOCAL_HOLIDAY",
              "PROVINCE_TERRITORY_HOLIDAY",
              "DE_FACTO_HOLIDAY",
              "SUBSTITUTE_HOLIDAY",
              "BANK_HOLIDAY",
              "GOVERNMENT_HOLIDAY",
              "PRIVATE_SECTOR_HOLIDAY",
              "OPTIONAL_HOLIDAY",
              "RESTRICTED_TRADING_DAY",
              "CHRISTIAN_HOLIDAY",
              "ORTHODOX_HOLIDAY",
              "MUSLIM_HOLIDAY",
              "JEWISH_HOLIDAY",
              "HINDU_HOLIDAY",
              "OBSERVANCE",
              "UNITED_NATIONS_OBSERVANCE",
              "FLAG_DAY",
              "SILENT_DAY",
              "HALF_DAY",
              "WORKING_DAY",
              "SEASON",
              "CLOCK_CHANGE",
              "COVID_19_MEASURE",
              "SPORTING_EVENT"
            ]
          }
        }
      },
      "HoroscopeResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date for the horoscope in YYYY-MM-DD format."
          },
          "sign": {
            "type": "string",
            "description": "The zodiac sign the horoscope is for."
          },
          "horoscope": {
            "type": "string",
            "description": "The daily horoscope text for the specified zodiac sign."
          }
        }
      },
      "HoroscopeOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "Hospital": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the hospital"
          },
          "care_type": {
            "type": "string",
            "description": "Type of care provided by the hospital"
          },
          "address": {
            "type": "string",
            "description": "Address of the hospital"
          },
          "city": {
            "type": "string",
            "description": "City where the hospital is located"
          },
          "state": {
            "type": "string",
            "description": "State where the hospital is located"
          },
          "zipcode": {
            "type": "string",
            "description": "ZIP code of the hospital location"
          },
          "county": {
            "type": "string",
            "description": "County where the hospital is located"
          },
          "location_area_code": {
            "type": "string",
            "description": "Area code of the hospital location"
          },
          "fips_code": {
            "type": "string",
            "description": "FIPS code of the hospital location"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the hospital location"
          },
          "latitude": {
            "type": "string",
            "description": "Latitude coordinate of the hospital"
          },
          "longitude": {
            "type": "string",
            "description": "Longitude coordinate of the hospital"
          },
          "phone_number": {
            "type": "string",
            "description": "Contact phone number of the hospital"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the hospital"
          },
          "ownership": {
            "type": "string",
            "description": "Ownership type of the hospital"
          },
          "bedcount": {
            "type": "integer",
            "description": "Number of beds available in the hospital"
          }
        }
      },
      "IBANResponse": {
        "type": "object",
        "properties": {
          "iban": {
            "type": "string",
            "description": "The IBAN that was looked up."
          },
          "bank_name": {
            "type": "string",
            "description": "The name of the bank associated with the IBAN. Available for premium users only."
          },
          "bank_address": {
            "type": "string",
            "description": "The address of the bank associated with the IBAN. Available for premium users only."
          },
          "swift_code": {
            "type": "string",
            "description": "The SWIFT/BIC code of the bank (if available). Available for premium users only."
          },
          "account_number": {
            "type": "string",
            "description": "The account number portion of the IBAN."
          },
          "bank_code": {
            "type": "string",
            "description": "The bank code portion of the IBAN."
          },
          "country": {
            "type": "string",
            "description": "The country code portion of the IBAN."
          },
          "checksum": {
            "type": "string",
            "description": "The checksum portion of the IBAN."
          },
          "valid": {
            "type": "boolean",
            "description": "Whether the IBAN is valid or not. Available for premium users only."
          },
          "invalid_reason": {
            "type": "string",
            "nullable": true,
            "description": "If the IBAN is not valid, a short code indicating why validation failed. null when the IBAN is valid. Available for premium users only."
          },
          "bban": {
            "type": "string",
            "description": "The Basic Bank Account Number (BBAN) portion of the IBAN."
          },
          "is_eu": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is an EU member state. Null when the country is unknown."
          },
          "is_eea": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the European Economic Area (the EU plus Iceland, Liechtenstein and Norway)."
          },
          "is_sepa": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the Single Euro Payments Area. SEPA is wider than the EU or the EEA: it also includes Switzerland, the United Kingdom, Monaco, San Marino, Andorra and Vatican City."
          }
        }
      },
      "IbanOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        }
      },
      "ImageToTextRequest": {
        "type": "object",
        "properties": {
          "image": {
            "type": "string",
            "format": "binary",
            "description": "Image file to extract text from. Must be either JPEG or PNG format."
          }
        },
        "required": [
          "image"
        ]
      },
      "ImageToTextResponse": {
        "type": "object",
        "properties": {
          "texts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "Extracted text from the image."
                },
                "boundingBox": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "Bounding box coordinates for the detected text."
                }
              }
            },
            "description": "List of detected texts and their bounding boxes."
          }
        }
      },
      "ImageToTextOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "IncomeStatementResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company filing information including ticker, CIK, company name, fiscal year, and fiscal quarter.",
            "properties": {
              "ticker": {
                "type": "string",
                "example": "ADBE"
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "fiscal_year": {
                "type": "integer",
                "example": 2025
              },
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "fiscal_quarter": {
                "type": "integer",
                "example": 2
              }
            }
          },
          "income_statement": {
            "type": "object",
            "description": "Income statement figures in whole U.S. dollars.",
            "properties": {
              "total_revenue": {
                "type": "integer",
                "example": 5873000000
              },
              "cost_of_revenue": {
                "type": "integer",
                "example": 638000000
              },
              "gross_profit": {
                "type": "integer",
                "example": 5235000000
              },
              "operating_income": {
                "type": "integer",
                "example": 2109000000
              },
              "net_income": {
                "type": "integer",
                "example": 1691000000
              },
              "earnings_per_share_basic": {
                "type": "number",
                "example": 3.95
              },
              "earnings_per_share_diluted": {
                "type": "number",
                "example": 3.94
              },
              "weighted_average_shares_basic": {
                "type": "integer",
                "example": 428000000
              },
              "weighted_average_shares_diluted": {
                "type": "integer",
                "example": 429000000
              },
              "research_and_development": {
                "type": "integer",
                "example": 1082000000
              },
              "sales_and_marketing": {
                "type": "integer",
                "example": 1626000000
              },
              "general_and_administrative": {
                "type": "integer",
                "example": 377000000
              },
              "stock_based_compensation": {
                "type": "integer",
                "nullable": true,
                "example": 481000000
              },
              "depreciation_and_amortization": {
                "type": "integer",
                "example": 209000000
              },
              "interest_expense": {
                "type": "integer",
                "example": 68000000
              },
              "tax_provision": {
                "type": "integer",
                "example": 410000000
              }
            }
          },
          "filing_info": {
            "type": "object",
            "description": "SEC filing metadata including filing type, filing date, and period end date.",
            "properties": {
              "filing_type": {
                "type": "string",
                "example": "10-Q"
              },
              "filing_date": {
                "type": "string",
                "example": "2025-06-25"
              },
              "period_end_date": {
                "type": "string",
                "example": "2025-05-30"
              }
            }
          }
        }
      },
      "IncomeStatementAvailabilityResponse": {
        "type": "object",
        "properties": {
          "company_info": {
            "type": "object",
            "description": "Company identity: ticker, CIK, and company name.",
            "properties": {
              "company_name": {
                "type": "string",
                "example": "ADOBE INC."
              },
              "cik": {
                "type": "string",
                "example": "796343"
              },
              "ticker": {
                "type": "string",
                "example": "ADBE"
              }
            }
          },
          "available_periods": {
            "type": "array",
            "description": "Fiscal years (newest first) and the periods within each that have income statement data.",
            "items": {
              "type": "object",
              "properties": {
                "year": {
                  "type": "integer",
                  "example": 2024
                },
                "periods": {
                  "type": "array",
                  "description": "Available fiscal periods for the year: q1-q4 and fy (full year).",
                  "items": {
                    "type": "string",
                    "enum": [
                      "q1",
                      "q2",
                      "q3",
                      "q4",
                      "fy"
                    ]
                  },
                  "example": [
                    "q1",
                    "q2",
                    "q3",
                    "q4",
                    "fy"
                  ]
                }
              }
            }
          }
        }
      },
      "IncomeTaxResponse": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "example": "US"
          },
          "region": {
            "type": "string",
            "example": "CA"
          },
          "income": {
            "type": "integer",
            "example": 100000
          },
          "taxable_income": {
            "type": "integer",
            "example": 100000
          },
          "deductions": {
            "type": "integer",
            "example": 0
          },
          "credits": {
            "type": "integer",
            "example": 0
          },
          "federal_effective_rate": {
            "type": "number",
            "format": "float",
            "example": 0.17053
          },
          "federal_taxes_owed": {
            "type": "integer",
            "example": 17053
          },
          "fica_social_security": {
            "type": "integer",
            "example": 6200
          },
          "fica_medicare": {
            "type": "integer",
            "example": 1450
          },
          "fica_total": {
            "type": "integer",
            "example": 7650
          },
          "region_effective_rate": {
            "type": "number",
            "format": "float",
            "example": 0.05952849999999999
          },
          "region_taxes_owed": {
            "type": "integer",
            "example": 5952.849999999999
          },
          "total_taxes_owed": {
            "type": "integer",
            "example": 30655.85
          },
          "income_after_tax": {
            "type": "integer",
            "example": 69344.15
          },
          "total_effective_tax_rate": {
            "type": "number",
            "format": "float",
            "example": 0.3065585
          }
        }
      },
      "TaxBracket": {
        "type": "object",
        "properties": {
          "rate": {
            "type": "number",
            "format": "float",
            "description": "The tax rate for the bracket."
          },
          "min": {
            "type": "number",
            "description": "The minimum income for the bracket."
          },
          "max": {
            "type": "number",
            "description": "The maximum income for the bracket, or 'Infinity' for the highest bracket."
          }
        }
      },
      "IncomeTaxOpenapi_IncomeTaxResponse": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "The country for which the tax rates are being retrieved."
          },
          "year": {
            "type": "integer",
            "description": "The tax year for which the tax rates are being retrieved."
          },
          "federal": {
            "type": "object",
            "description": "The federal tax rates for the given country and year.",
            "properties": {
              "single": {
                "type": "object",
                "properties": {
                  "brackets": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TaxBracket"
                    }
                  }
                }
              },
              "married": {
                "type": "object",
                "properties": {
                  "brackets": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TaxBracket"
                    }
                  }
                }
              },
              "married_separate": {
                "type": "object",
                "properties": {
                  "brackets": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TaxBracket"
                    }
                  }
                }
              },
              "head_of_household": {
                "type": "object",
                "properties": {
                  "brackets": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TaxBracket"
                    }
                  }
                }
              }
            }
          },
          "fica": {
            "type": "object",
            "description": "The FICA tax rates, including breakdown of social security and medicare percentages and social security cap, for the given country and year (US only).",
            "properties": {
              "fica_social_security_employee": {
                "type": "number",
                "format": "float",
                "description": "Social Security tax rate for employees (percentage)."
              },
              "fica_medicare_employee": {
                "type": "number",
                "format": "float",
                "description": "Medicare tax rate for employees (percentage)."
              },
              "fica_total_employee": {
                "type": "number",
                "format": "float",
                "description": "Total FICA tax rate for employees (percentage)."
              },
              "fica_social_security_self_employed": {
                "type": "number",
                "format": "float",
                "description": "Social Security tax rate for self-employed (percentage)."
              },
              "fica_medicare_self_employed": {
                "type": "number",
                "format": "float",
                "description": "Medicare tax rate for self-employed (percentage)."
              },
              "fica_total_self_employed": {
                "type": "number",
                "format": "float",
                "description": "Total FICA tax rate for self-employed (percentage)."
              },
              "cap": {
                "type": "number",
                "description": "Social Security wage base cap for the year."
              }
            }
          },
          "states": {
            "type": "object",
            "description": "The state tax rates for the given country and year (US only).",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "single": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "married": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "married_separate": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "head_of_household": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "standard_deduction": {
                  "type": "object",
                  "description": "Standard deduction amounts for the state."
                },
                "personal_exemption": {
                  "type": "object",
                  "description": "Personal exemption amounts for the state."
                }
              }
            }
          },
          "provinces": {
            "type": "object",
            "description": "The provincial tax rates for the given country and year (Canada only).",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "single": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "married": {
                  "type": "object",
                  "properties": {
                    "brackets": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxBracket"
                      }
                    }
                  }
                },
                "standard_deduction": {
                  "type": "object",
                  "description": "Standard deduction amounts for the province."
                },
                "personal_exemption": {
                  "type": "object",
                  "description": "Personal exemption amounts for the province."
                }
              }
            }
          }
        }
      },
      "InflationResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "country": {
              "type": "string",
              "description": "The name of the country."
            },
            "country_code": {
              "type": "string",
              "description": "The 2-letter country code (ISO-3166-1 alpha-2)."
            },
            "type": {
              "type": "string",
              "description": "The type of inflation indicator (CPI or HICP)."
            },
            "period": {
              "type": "string",
              "description": "The period for the inflation data."
            },
            "monthly_rate_pct": {
              "type": "number",
              "description": "The monthly inflation rate as a percentage."
            },
            "yearly_rate_pct": {
              "type": "number",
              "description": "The yearly inflation rate as a percentage."
            }
          }
        }
      },
      "HistoricalInflationResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of inflation indicator (CPI or HICP)."
          },
          "country": {
            "type": "string",
            "description": "The name of the country."
          },
          "country_code": {
            "type": "string",
            "description": "The 2-letter country code (ISO-3166-1 alpha-2)."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "timestamp": {
                  "type": "integer",
                  "description": "UNIX timestamp in seconds for the data point."
                },
                "rate_pct": {
                  "type": "number",
                  "description": "The inflation rate as a percentage for the given timestamp."
                }
              }
            },
            "description": "Array of historical inflation data points."
          }
        }
      },
      "InflationOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "InsiderTransaction": {
        "type": "object",
        "properties": {
          "accession_number": {
            "type": "string",
            "description": "The SEC accession number (filing ID) for the transaction.",
            "example": "0000320193-24-000001"
          },
          "form": {
            "type": "string",
            "description": "The SEC form type (e.g., 3, 4, 5).",
            "example": "4"
          },
          "filing_date": {
            "type": "string",
            "format": "date",
            "description": "The date the filing was submitted to the SEC (YYYY-MM-DD).",
            "example": "2024-01-15"
          },
          "sec_filing_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the SEC filing document.",
            "example": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000001/xslF345X03/form4.xml"
          },
          "cik": {
            "type": "string",
            "description": "The Central Index Key (CIK) of the company.",
            "example": "320193"
          },
          "ticker": {
            "type": "string",
            "description": "The stock ticker symbol of the company.",
            "example": "AAPL"
          },
          "company_name": {
            "type": "string",
            "description": "The name of the company (issuer).",
            "example": "Apple Inc."
          },
          "insider_name": {
            "type": "string",
            "description": "The name of the insider who executed the transaction.",
            "example": "Timothy D. Cook"
          },
          "insider_position": {
            "type": "string",
            "description": "The position/title of the insider (e.g., CEO, Director, 10% Owner).",
            "example": "Chief Executive Officer"
          },
          "transaction_code": {
            "type": "string",
            "description": "The transaction code (e.g., P, S, A, D, F, etc.).",
            "example": "P"
          },
          "transaction_name": {
            "type": "string",
            "description": "Description of the transaction.",
            "example": "Purchase"
          },
          "transaction_type": {
            "type": "string",
            "description": "The type of transaction (e.g., Purchase, Sale, Award, etc.).",
            "example": "Purchase"
          },
          "transaction_price": {
            "type": "number",
            "format": "float",
            "description": "The price per share of the transaction.",
            "example": 150.25
          },
          "shares": {
            "type": "integer",
            "description": "The number of shares involved in the transaction.",
            "example": 1000
          },
          "transaction_value": {
            "type": "number",
            "format": "float",
            "description": "The total value of the transaction.",
            "example": 150250
          },
          "pre_transaction_shares": {
            "type": "integer",
            "description": "The number of shares held before the transaction.",
            "example": 836605
          },
          "pre_transaction_shares_value": {
            "type": "number",
            "format": "float",
            "description": "The total value of shares held before the transaction in USD (pre_transaction_shares × price).",
            "example": 125490750.25
          },
          "remaining_shares": {
            "type": "integer",
            "description": "The number of shares remaining after the transaction.",
            "example": 837605
          },
          "remaining_shares_value": {
            "type": "number",
            "format": "float",
            "description": "The total value of remaining shares after the transaction in USD (remaining_shares × price).",
            "example": 125640750.25
          }
        }
      },
      "InsiderTradingOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "InsiderDetails": {
        "type": "object",
        "properties": {
          "insider_name": {
            "type": "string",
            "description": "The name of the insider.",
            "example": "Timothy D Cook"
          },
          "position": {
            "type": "string",
            "description": "The position/title of the insider (e.g., CEO, Director, 10% Owner).",
            "example": "Chief Executive Officer"
          },
          "ticker": {
            "type": "string",
            "description": "The stock ticker symbol of the company.",
            "example": "AAPL"
          },
          "cik": {
            "type": "string",
            "description": "The Central Index Key (CIK) of the company.",
            "example": "320193"
          },
          "company_name": {
            "type": "string",
            "description": "The name of the company (issuer).",
            "example": "Apple Inc."
          },
          "shares": {
            "type": "integer",
            "nullable": true,
            "description": "The number of shares currently owned by the insider (from their most recent filing's remaining_shares). May be null if not available.",
            "example": 3280295
          },
          "value": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "The total value of the shares in USD (shares × price from most recent filing). May be null if not available.",
            "example": 839296278.7
          },
          "transactions": {
            "type": "array",
            "description": "An array of transaction objects with detailed information about each transaction. Maximum of 10 transactions, ordered by filing date (most recent first).",
            "items": {
              "$ref": "#/components/schemas/InsiderTransaction"
            }
          }
        }
      },
      "InsiderListItem": {
        "type": "object",
        "properties": {
          "insider_name": {
            "type": "string",
            "description": "The name of the insider.",
            "example": "Timothy D Cook"
          },
          "position": {
            "type": "string",
            "description": "The position/title of the insider (e.g., CEO, Director, 10% Owner).",
            "example": "Chief Executive Officer"
          },
          "shares": {
            "type": "integer",
            "description": "The number of shares currently owned by the insider (from their most recent filing's remaining_shares).",
            "example": 3280295
          },
          "value": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "The total value of the shares in USD (shares × price from most recent filing). May be null if not available.",
            "example": 835917574.85
          },
          "last_filing_date": {
            "type": "string",
            "format": "date",
            "description": "The date of the insider's most recent filing (YYYY-MM-DD).",
            "example": "2025-10-03"
          },
          "ticker": {
            "type": "string",
            "description": "The stock ticker symbol of the company.",
            "example": "AAPL"
          },
          "cik": {
            "type": "string",
            "description": "The Central Index Key (CIK) of the company.",
            "example": "320193"
          },
          "company_name": {
            "type": "string",
            "description": "The name of the company (issuer).",
            "example": "Apple Inc."
          }
        }
      },
      "InstitutionalHolding": {
        "type": "object",
        "properties": {
          "manager_name": {
            "type": "string",
            "description": "Institutional manager (filer) name.",
            "example": "BERKSHIRE HATHAWAY INC"
          },
          "cik": {
            "type": "string",
            "description": "Manager Central Index Key (zero-padded to 10 digits).",
            "example": "0001067983"
          },
          "period": {
            "type": "string",
            "description": "Quarter-end date of the report (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "filing_date": {
            "type": "string",
            "description": "Date the 13F was filed with the SEC.",
            "example": "2025-05-15"
          },
          "issuer_name": {
            "type": "string",
            "description": "Name of the security's issuer.",
            "example": "APPLE INC"
          },
          "ticker": {
            "type": "string",
            "description": "Ticker symbol, mapped from the reported CUSIP where available.",
            "example": "AAPL"
          },
          "cusip": {
            "type": "string",
            "description": "CUSIP as reported in the filing.",
            "example": "037833100"
          },
          "security_class": {
            "type": "string",
            "description": "Title of class (e.g. COM).",
            "example": "COM"
          },
          "shares": {
            "type": "integer",
            "description": "Shares (or principal amount) held.",
            "example": 300000000
          },
          "share_type": {
            "type": "string",
            "description": "SH (shares) or PRN (principal amount).",
            "example": "SH"
          },
          "market_value": {
            "type": "integer",
            "description": "Reported market value in whole U.S. dollars.",
            "example": 65010000000
          },
          "percent_of_portfolio": {
            "type": "number",
            "description": "Position value as a percent of the manager's total 13F portfolio.",
            "example": 24.83
          },
          "put_call": {
            "type": "string",
            "nullable": true,
            "description": "Put, Call, or null for a long position.",
            "example": null
          },
          "investment_discretion": {
            "type": "string",
            "description": "SOLE, DFND, or OTR.",
            "example": "SOLE"
          },
          "voting_authority_sole": {
            "type": "integer",
            "description": "Shares over which the manager has sole voting authority.",
            "example": 300000000
          },
          "voting_authority_shared": {
            "type": "integer",
            "description": "Shares over which the manager has shared voting authority.",
            "example": 0
          },
          "voting_authority_none": {
            "type": "integer",
            "description": "Shares over which the manager has no voting authority.",
            "example": 0
          },
          "is_new": {
            "type": "boolean",
            "description": "true if the manager opened this position in the reported quarter. Premium only.",
            "example": false
          },
          "share_change": {
            "type": "integer",
            "description": "Change in shares held versus the prior quarter. Premium only.",
            "example": -100000000
          },
          "share_change_percent": {
            "type": "number",
            "description": "Percent change in shares held versus the prior quarter. Premium only.",
            "example": -25
          },
          "sec_filing_url": {
            "type": "string",
            "description": "Link to the filing index on SEC EDGAR.",
            "example": "https://www.sec.gov/Archives/edgar/data/1067983/000095012325005701/0000950123-25-005701-index.htm"
          },
          "data_source": {
            "type": "string",
            "description": "Source of the record.",
            "example": "sec_edgar"
          },
          "last_updated": {
            "type": "integer",
            "description": "Unix timestamp (UTC) of the last record refresh.",
            "example": 1747353600
          }
        }
      },
      "InstitutionalOwnershipHolder": {
        "type": "object",
        "properties": {
          "manager_name": {
            "type": "string",
            "description": "Institution holding the security.",
            "example": "VANGUARD GROUP INC"
          },
          "cik": {
            "type": "string",
            "description": "Manager Central Index Key (zero-padded to 10 digits).",
            "example": "0000102909"
          },
          "ticker": {
            "type": "string",
            "description": "Ticker symbol of the security being held.",
            "example": "AAPL"
          },
          "cusip": {
            "type": "string",
            "description": "CUSIP of the security being held.",
            "example": "037833100"
          },
          "issuer_name": {
            "type": "string",
            "description": "Name of the security's issuer.",
            "example": "APPLE INC"
          },
          "period": {
            "type": "string",
            "description": "Quarter-end date of the report (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "shares": {
            "type": "integer",
            "description": "Shares held.",
            "example": 1380000000
          },
          "market_value": {
            "type": "integer",
            "description": "Reported market value in whole U.S. dollars.",
            "example": 299000000000
          },
          "percent_of_portfolio": {
            "type": "number",
            "description": "Position as a percent of the manager's 13F portfolio.",
            "example": 4.71
          },
          "put_call": {
            "type": "string",
            "nullable": true,
            "description": "Put, Call, or null for a long position.",
            "example": null
          },
          "filing_date": {
            "type": "string",
            "description": "Date the 13F was filed with the SEC.",
            "example": "2025-05-14"
          },
          "sec_filing_url": {
            "type": "string",
            "description": "Link to the filing index on SEC EDGAR.",
            "example": "https://www.sec.gov/Archives/edgar/data/102909/000110465925000000/0001104659-25-000000-index.htm"
          }
        }
      },
      "InstitutionalOwnershipSummary": {
        "type": "object",
        "description": "Ownership-concentration aggregate returned when summary=true. Premium only.",
        "properties": {
          "institutional_holders_count": {
            "type": "integer",
            "description": "Number of institutions holding the stock this quarter.",
            "example": 4820
          },
          "total_shares_held": {
            "type": "integer",
            "description": "Aggregate shares held across all institutional holders.",
            "example": 9200000000
          },
          "total_market_value": {
            "type": "integer",
            "description": "Aggregate market value across all institutional holders (whole USD).",
            "example": 1990000000000
          },
          "new_positions_count": {
            "type": "integer",
            "description": "Holders opening a position this quarter.",
            "example": 210
          },
          "closed_positions_count": {
            "type": "integer",
            "description": "Holders fully exiting this quarter.",
            "example": 95
          },
          "increased_positions_count": {
            "type": "integer",
            "description": "Holders adding this quarter.",
            "example": 1850
          },
          "decreased_positions_count": {
            "type": "integer",
            "description": "Holders trimming this quarter.",
            "example": 2100
          },
          "net_share_change": {
            "type": "integer",
            "description": "Net share change across holders versus the prior quarter.",
            "example": -45000000
          },
          "holders_count_change": {
            "type": "integer",
            "description": "Change in holder count versus the prior quarter.",
            "example": 115
          }
        }
      },
      "InstitutionalInvestorDirectoryRecord": {
        "type": "object",
        "description": "Directory record returned when searching by name.",
        "properties": {
          "manager_name": {
            "type": "string",
            "description": "Institution name.",
            "example": "BERKSHIRE HATHAWAY INC"
          },
          "cik": {
            "type": "string",
            "description": "Institution Central Index Key (zero-padded to 10 digits).",
            "example": "0001067983"
          },
          "latest_period": {
            "type": "string",
            "description": "Most recent quarter reported (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "latest_filing_date": {
            "type": "string",
            "description": "Date the most recent quarter was filed.",
            "example": "2025-05-15"
          },
          "num_holdings": {
            "type": "integer",
            "description": "Holdings count of the latest filing.",
            "example": 38
          },
          "portfolio_value": {
            "type": "integer",
            "description": "Total portfolio value of the latest filing (whole USD).",
            "example": 261000000000
          },
          "first_period": {
            "type": "string",
            "description": "Earliest quarter on file for the institution.",
            "example": "2013-12-31"
          },
          "data_source": {
            "type": "string",
            "description": "Source of the record.",
            "example": "sec_edgar"
          }
        }
      },
      "InstitutionalInvestorFilingRecord": {
        "type": "object",
        "description": "Filing record returned when querying by cik or period.",
        "properties": {
          "manager_name": {
            "type": "string",
            "description": "Institution that filed.",
            "example": "BERKSHIRE HATHAWAY INC"
          },
          "cik": {
            "type": "string",
            "description": "Institution Central Index Key (zero-padded to 10 digits).",
            "example": "0001067983"
          },
          "period": {
            "type": "string",
            "description": "Quarter-end date of the filing (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "filing_date": {
            "type": "string",
            "description": "Date the filing was made with the SEC.",
            "example": "2025-05-15"
          },
          "form_type": {
            "type": "string",
            "description": "13F-HR or 13F-HR/A.",
            "example": "13F-HR"
          },
          "is_amendment": {
            "type": "boolean",
            "description": "Whether the filing is an amendment.",
            "example": false
          },
          "amendment_type": {
            "type": "string",
            "nullable": true,
            "description": "Amendment details, if the filing is an amendment.",
            "example": null
          },
          "num_holdings": {
            "type": "integer",
            "description": "Holdings count of the filing.",
            "example": 38
          },
          "portfolio_value": {
            "type": "integer",
            "description": "Total value of the filing (whole USD).",
            "example": 261000000000
          },
          "accession_number": {
            "type": "string",
            "description": "SEC accession number.",
            "example": "0000950123-25-005701"
          },
          "sec_filing_url": {
            "type": "string",
            "description": "Link to the filing index on SEC EDGAR.",
            "example": "https://www.sec.gov/Archives/edgar/data/1067983/000095012325005701/0000950123-25-005701-index.htm"
          }
        }
      },
      "InstitutionalInvestorQuarterRecord": {
        "type": "object",
        "description": "Quarter record returned with period_list=true.",
        "properties": {
          "quarter": {
            "type": "string",
            "description": "Quarter label.",
            "example": "2025Q1"
          },
          "period": {
            "type": "string",
            "description": "Quarter-end date (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "filing_count": {
            "type": "integer",
            "description": "Number of 13F filings available for the quarter.",
            "example": 8912
          }
        }
      },
      "InstitutionalMoverMarketRecord": {
        "type": "object",
        "description": "Market-wide leaderboard row.",
        "properties": {
          "period": {
            "type": "string",
            "description": "Quarter-end date of the move (YYYY-MM-DD).",
            "example": "2025-03-31"
          },
          "mover_type": {
            "type": "string",
            "description": "The type of move: new_buys, exits, adds, or trims.",
            "example": "new_buys"
          },
          "ticker": {
            "type": "string",
            "description": "Ticker symbol of the security.",
            "example": "NVDA"
          },
          "cusip": {
            "type": "string",
            "description": "CUSIP of the security.",
            "example": "67066G104"
          },
          "issuer_name": {
            "type": "string",
            "description": "Name of the security's issuer.",
            "example": "NVIDIA CORP"
          },
          "managers_adding": {
            "type": "integer",
            "description": "Count of institutions making this move (the field name reflects the mover_type: managers_adding, managers_exiting, or managers_trimming).",
            "example": 540
          },
          "aggregate_share_change": {
            "type": "integer",
            "description": "Summed share change across those institutions.",
            "example": 88000000
          },
          "aggregate_value_change": {
            "type": "integer",
            "description": "Summed value change across those institutions (whole USD).",
            "example": 9600000000
          },
          "rank": {
            "type": "integer",
            "description": "Position on the leaderboard.",
            "example": 1
          }
        }
      },
      "InstitutionalMoverManagerRecord": {
        "type": "object",
        "description": "Per-institution row returned when cik is supplied; each row is one position.",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Ticker symbol of the security.",
            "example": "AAPL"
          },
          "cusip": {
            "type": "string",
            "description": "CUSIP of the security.",
            "example": "037833100"
          },
          "issuer_name": {
            "type": "string",
            "description": "Name of the security's issuer.",
            "example": "APPLE INC"
          },
          "share_change": {
            "type": "integer",
            "description": "Change in shares held versus the prior quarter.",
            "example": -100000000
          },
          "share_change_percent": {
            "type": "number",
            "description": "Percent change in shares held versus the prior quarter.",
            "example": -25
          },
          "market_value": {
            "type": "integer",
            "description": "Reported market value this quarter (whole USD).",
            "example": 65010000000
          },
          "prior_market_value": {
            "type": "integer",
            "description": "Reported market value the prior quarter (whole USD).",
            "example": 75000000000
          },
          "rank": {
            "type": "integer",
            "description": "Position in the ranking.",
            "example": 1
          }
        }
      },
      "InterestRateResponse": {
        "type": "object",
        "properties": {
          "rate_name": {
            "type": "string",
            "example": "United States Prime Rate"
          },
          "rate_pct": {
            "type": "number",
            "example": 6.75
          },
          "last_updated": {
            "type": "string",
            "nullable": true,
            "description": "Observation date of the rate, or null when the source does not publish one.",
            "example": "08-13-2026"
          },
          "rate_type": {
            "type": "string",
            "description": "What kind of instrument the rate is (e.g. bank_prime, loan_prime_rate, average_base_lending_rate). Returned for prime and base lending rates.",
            "example": "bank_prime"
          },
          "source": {
            "type": "string",
            "description": "The publisher of the rate. Returned for prime and base lending rates.",
            "example": "U.S. Federal Reserve H.15 (FRED series DPRIME)"
          },
          "bank_count": {
            "type": "integer",
            "description": "Number of banks averaged, for rates that are an average of individual banks' published rates (br_my, blr_my).",
            "example": 16
          }
        }
      },
      "CentralBankRate": {
        "type": "object",
        "properties": {
          "central_bank": {
            "type": "string",
            "example": "British Central Bank"
          },
          "country": {
            "type": "string",
            "example": "United Kingdom"
          },
          "rate_pct": {
            "type": "number",
            "example": 5.25
          },
          "last_updated": {
            "type": "string",
            "example": "08-03-2023"
          }
        }
      },
      "InterestRateHistoricalResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Euribor - 3 months"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InterestRateData"
            }
          },
          "next": {
            "type": "string",
            "nullable": true,
            "description": "Cursor for the next page of data points, or null when no further data is available. Pass it back as the `page` parameter."
          }
        }
      },
      "InterestRateData": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "integer",
            "description": "UNIX timestamp in seconds. The time of day carries no information; use date.",
            "example": 1701648000
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date the rate applies to, in YYYY-MM-DD format (UTC).",
            "example": "2023-12-04"
          },
          "rate_pct": {
            "type": "number",
            "example": 5.62458
          }
        }
      },
      "IPResponse": {
        "type": "object",
        "properties": {
          "is_valid": {
            "type": "boolean",
            "description": "The validity status of the IP address"
          },
          "country": {
            "type": "string",
            "description": "The name of the country where the IP address is located"
          },
          "country_code": {
            "type": "string",
            "description": "The 2-letter country code of the IP address location"
          },
          "region_code": {
            "type": "string",
            "description": "The region code of the IP address location. In the United States, this is equivalent to the 2-letter state abbreviation."
          },
          "region": {
            "type": "string",
            "description": "The region name where the IP address is located. In the United States, this is equivalent to the state."
          },
          "city": {
            "type": "string",
            "description": "The city where the IP address is located"
          },
          "zip": {
            "type": "string",
            "description": "The ZIP code of the IP address location"
          },
          "lat": {
            "type": "number",
            "format": "float",
            "description": "The latitude coordinate of the IP address location"
          },
          "lon": {
            "type": "number",
            "format": "float",
            "description": "The longitude coordinate of the IP address location"
          },
          "timezone": {
            "type": "string",
            "description": "The time zone related to the IP address"
          },
          "isp": {
            "type": "string",
            "description": "The Internet Service Provider associated with the IP address"
          },
          "address": {
            "type": "string",
            "description": "The IP address of the query"
          },
          "is_datacenter": {
            "type": "boolean",
            "description": "Premium only. Whether the IP belongs to a known cloud or datacenter provider (e.g. AWS, GCP, Azure, Oracle, DigitalOcean)."
          },
          "is_hosting": {
            "type": "boolean",
            "description": "Premium only. Whether the IP's network (ASN) is a known hosting/datacenter provider."
          },
          "is_tor": {
            "type": "boolean",
            "description": "Premium only. Whether the IP is a known Tor exit node."
          },
          "is_vpn": {
            "type": "boolean",
            "description": "Premium only. Whether the IP is associated with a known commercial VPN provider."
          },
          "is_icloud_relay": {
            "type": "boolean",
            "description": "Premium only. Whether the IP is an Apple iCloud Private Relay egress node."
          },
          "is_bogon": {
            "type": "boolean",
            "description": "Premium only. Whether the IP is a bogon (unallocated or reserved address that should not appear on the public internet)."
          },
          "is_abuser": {
            "type": "boolean",
            "description": "Premium only. Whether the IP appears on multiple public abuse/threat blocklists."
          },
          "threat_level": {
            "type": "string",
            "description": "Premium only. Overall risk level derived from blocklist activity: one of low, medium, or high."
          },
          "asn": {
            "type": "string",
            "description": "Premium only. The Autonomous System Number that announces the IP (e.g. AS15169)."
          },
          "asn_name": {
            "type": "string",
            "description": "Premium only. The name of the organization that operates the ASN."
          },
          "route": {
            "type": "string",
            "description": "Premium only. The network route (CIDR prefix) the IP belongs to."
          },
          "abuse_email": {
            "type": "string",
            "description": "Premium only. The registered abuse-contact email for the IP's network, when available."
          },
          "is_eu": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is an EU member state. Null when the country is unknown. Premium field: the Free tier receives a notice string in place of the value."
          },
          "is_eea": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the European Economic Area (the EU plus Iceland, Liechtenstein and Norway). Premium field: the Free tier receives a notice string in place of the value."
          },
          "languages": {
            "type": "string",
            "nullable": true,
            "description": "Comma-separated BCP-47 language tags commonly used in the country. Premium field: the Free tier receives a notice string in place of the value."
          },
          "urbanisation": {
            "type": "string",
            "nullable": true,
            "description": "Degree of urbanisation at the coordinates: URBAN_CENTRE, DENSE_URBAN_CLUSTER, SEMI_DENSE_URBAN, SUBURBAN, RURAL_CLUSTER, LOW_DENSITY_RURAL, VERY_LOW_DENSITY_RURAL or WATER. Premium field: the Free tier receives a notice string in place of the value."
          }
        }
      },
      "IpLookupOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure"
          }
        }
      },
      "IPORecord": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "nullable": true,
            "description": "Company ticker symbol. Null when not yet assigned (early filed stage)."
          },
          "name": {
            "type": "string",
            "description": "Issuer legal name."
          },
          "cik": {
            "type": "string",
            "description": "SEC Central Index Key, zero-padded to 10 digits."
          },
          "filing_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Date the initial S-1 was filed (YYYY-MM-DD)."
          },
          "amended_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Date of the most recent S-1/A amendment. Premium only — free tier users receive a placeholder upgrade message string in place of the value."
          },
          "priced_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Date the final offer price was set (424B4 filing date)."
          },
          "listing_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "First day of trading (YYYY-MM-DD). Null until the IPO has listed."
          },
          "listing_date_verified": {
            "type": "boolean",
            "description": "True once trading has begun (confirmed via 8-A filing); false while the date is estimated."
          },
          "lock_up_expiry_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Insider lock-up expiration date. Premium only — free tier users receive a placeholder upgrade message string in place of the date."
          },
          "lock_up_days": {
            "type": "integer",
            "nullable": true,
            "description": "Lock-up period in days. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "lock_up_method": {
            "type": "string",
            "enum": [
              "parsed_from_prospectus",
              "computed_default_180d"
            ],
            "nullable": true,
            "description": "Source of the lock-up data. Premium only — free tier users receive a placeholder upgrade message string in place of the enum value."
          },
          "status": {
            "type": "string",
            "enum": [
              "filed",
              "amended",
              "priced",
              "listed",
              "withdrawn"
            ],
            "description": "IPO lifecycle stage."
          },
          "deal_type": {
            "type": "string",
            "enum": [
              "ipo",
              "spac_ipo",
              "direct_listing"
            ],
            "description": "Type of offering."
          },
          "exchange": {
            "type": "string",
            "enum": [
              "NASDAQ",
              "NYSE",
              "AMEX"
            ],
            "nullable": true,
            "description": "U.S. exchange code."
          },
          "mic": {
            "type": "string",
            "enum": [
              "XNAS",
              "XNYS",
              "XASE"
            ],
            "nullable": true,
            "description": "ISO 10383 Market Identifier Code. Premium only — free tier users receive a placeholder upgrade message string in place of the value."
          },
          "state_location": {
            "type": "string",
            "nullable": true,
            "description": "U.S. state of incorporation or headquarters (two-letter code). Premium only — free tier users receive a placeholder upgrade message string in place of the value."
          },
          "sic_code": {
            "type": "string",
            "nullable": true,
            "description": "SEC Standard Industrial Classification code (up to 4 digits)."
          },
          "industry": {
            "type": "string",
            "nullable": true,
            "description": "Human-readable industry name derived from sic_code."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code. Always USD at launch."
          },
          "greenshoe_shares": {
            "type": "integer",
            "nullable": true,
            "description": "Over-allotment option shares granted to underwriters. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "last_yr_revenue": {
            "type": "integer",
            "nullable": true,
            "description": "Most recent annual revenue from the S-1, in USD. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "last_yr_net_income": {
            "type": "integer",
            "nullable": true,
            "description": "Most recent annual net income from the S-1, in USD. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "last_yr_fiscal_year": {
            "type": "integer",
            "nullable": true,
            "description": "Fiscal year corresponding to last_yr_revenue and last_yr_net_income. Premium only — free tier users receive a placeholder upgrade message string in place of the integer."
          },
          "sec_filing_url": {
            "type": "string",
            "format": "uri",
            "description": "Link to the filing index page on SEC EDGAR."
          },
          "prospectus_url": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "description": "Direct deep link to the final prospectus (424B4) on SEC EDGAR. Premium only — free tier users receive a placeholder upgrade message string in place of the URL."
          },
          "form_type": {
            "type": "string",
            "description": "Most recent governing SEC form (e.g., S-1, S-1/A, 424B4, 8-A12B, RW)."
          },
          "lead_underwriters": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "Array of lead underwriter / bookrunner names. Premium only — free tier users receive a placeholder upgrade message string in place of the array."
          },
          "data_source": {
            "type": "string",
            "enum": [
              "sec_edgar"
            ],
            "description": "Source of the record."
          },
          "last_updated": {
            "type": "integer",
            "description": "Unix timestamp (UTC) of the last record refresh."
          }
        }
      },
      "IPOResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/IPORecord"
        },
        "description": "Array of IPO records matching the query."
      },
      "IpoOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "Joke": {
        "type": "object",
        "properties": {
          "joke": {
            "type": "string",
            "example": "When putting cheese in a mousetrap, always leave room for the mouse."
          }
        }
      },
      "JokesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "LiborHistoricalData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "USD LIBOR - 3 months"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "timestamp": {
                  "type": "integer",
                  "example": 915148800
                },
                "rate_pct": {
                  "type": "number",
                  "example": 6.245
                }
              }
            }
          }
        }
      },
      "LogoResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Company name."
            },
            "ticker": {
              "type": "string",
              "description": "Company ticker symbol (for publicly traded companies only)."
            },
            "image": {
              "type": "string",
              "description": "Company logo image URL.",
              "format": "uri"
            }
          }
        }
      },
      "LogoOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer"
          }
        }
      },
      "LoremIpsumResponse": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Generated lorem ipsum text."
          }
        }
      },
      "LoremIpsumOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the issue."
          }
        }
      },
      "MarketCapResponse": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Stock ticker symbol (e.g., NVDA)."
          },
          "name": {
            "type": "string",
            "description": "Company name."
          },
          "market_cap": {
            "type": "integer",
            "description": "Market cap in the local currency of the stock exchange."
          },
          "currency": {
            "type": "string",
            "description": "Currency code (e.g., USD)."
          },
          "updated": {
            "type": "integer",
            "description": "Timestamp of the market cap data in Unix format (in seconds)."
          }
        }
      },
      "MarketCapOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "MetalsPriceResponse": {
        "type": "object",
        "properties": {
          "metal": {
            "type": "string",
            "description": "The requested metal."
          },
          "name": {
            "type": "string",
            "description": "Display name of the metal."
          },
          "price": {
            "type": "number",
            "description": "The spot price: live on premium plans, the last daily close on the free plan."
          },
          "bid": {
            "type": "number",
            "description": "Spot bid price (gold, silver, platinum, palladium; premium plans only)."
          },
          "ask": {
            "type": "number",
            "description": "Spot ask price (gold, silver, platinum, palladium; premium plans only)."
          },
          "spot_type": {
            "type": "string",
            "enum": [
              "composite",
              "futures_based"
            ],
            "description": "How price is produced: composite = blended live market quotes (precious metals); futures_based = the most actively traded COMEX futures contract (copper, aluminum)."
          },
          "previous_close": {
            "type": "number",
            "description": "The previous session's closing spot price."
          },
          "change_24h": {
            "type": "number",
            "description": "Change versus the previous close."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change versus the previous close."
          },
          "high_24h": {
            "type": "number",
            "description": "The session's high price."
          },
          "low_24h": {
            "type": "number",
            "description": "The session's low price."
          },
          "futures_price": {
            "type": "number",
            "description": "Price of the futures contract in futures_contract."
          },
          "futures_contract": {
            "type": "string",
            "description": "The futures contract `price` is quoted for (e.g., GCZ26 = December 2026 gold). Omitted when the contract can't be identified."
          },
          "futures_contract_month": {
            "type": "string",
            "description": "Delivery month of futures_contract (YYYY-MM)."
          },
          "futures_exchange": {
            "type": "string",
            "description": "Exchange the futures contract trades on (COMEX or NYMEX)."
          },
          "unit": {
            "type": "string",
            "description": "Weight unit prices are quoted in."
          },
          "currency_unit": {
            "type": "string",
            "description": "Price currency, USD by default."
          },
          "market_status": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ],
            "description": "Whether metals are trading (Sunday 6 PM to Friday 5 PM ET, with a daily 5-6 PM ET break)."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the spot price."
          }
        }
      },
      "MetalsPriceOpenapi_BatchItemError": {
        "type": "object",
        "description": "Error entry returned for a single type in a batch request that failed or is not permitted.",
        "properties": {
          "metal": {
            "type": "string",
            "description": "The metal as requested."
          },
          "error": {
            "type": "string",
            "description": "Why this metal could not be returned."
          }
        }
      },
      "MortgageCalculatorResponse": {
        "type": "object",
        "properties": {
          "monthly_payment": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              },
              "mortgage": {
                "type": "integer"
              },
              "property_tax": {
                "type": "integer"
              },
              "hoa": {
                "type": "integer"
              },
              "annual_home_ins": {
                "type": "integer"
              }
            }
          },
          "annual_payment": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              },
              "mortgage": {
                "type": "integer"
              },
              "property_tax": {
                "type": "integer"
              },
              "hoa": {
                "type": "integer"
              },
              "home_insurance": {
                "type": "integer"
              }
            }
          },
          "total_interest_paid": {
            "type": "integer"
          }
        }
      },
      "MortgageRateResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "format": "date",
              "description": "The date for which the mortgage rate data applies."
            },
            "frm_30": {
              "type": "number",
              "description": "30-year fixed-rate mortgage interest rate."
            },
            "frm_15": {
              "type": "number",
              "description": "15-year fixed-rate mortgage interest rate."
            }
          }
        }
      },
      "MortgageRateOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "Address": {
        "type": "object",
        "properties": {
          "street": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "county": {
            "type": "string",
            "nullable": true
          },
          "colonia": {
            "type": "string",
            "nullable": true,
            "description": "Mexican-domiciled carriers only."
          }
        }
      },
      "Docket": {
        "type": "object",
        "properties": {
          "docket": {
            "type": "string",
            "example": "MC227271"
          },
          "prefix": {
            "type": "string",
            "enum": [
              "MC",
              "MX",
              "FF"
            ]
          },
          "number": {
            "type": "integer"
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Authority": {
        "type": "object",
        "properties": {
          "docket": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true,
            "description": "Active, Pending, Inactive or Withdrawn."
          },
          "bipd_required_usd": {
            "type": "integer",
            "nullable": true
          },
          "bipd_on_file_usd": {
            "type": "integer",
            "nullable": true
          },
          "cargo_required": {
            "type": "boolean",
            "nullable": true
          },
          "cargo_on_file": {
            "type": "boolean",
            "nullable": true
          },
          "bond_required": {
            "type": "boolean",
            "nullable": true
          },
          "bond_on_file": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "Carrier": {
        "type": "object",
        "properties": {
          "dot_number": {
            "type": "integer",
            "example": 428823
          },
          "legal_name": {
            "type": "string",
            "nullable": true
          },
          "dba_name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true,
            "description": "Active, Inactive or Pending."
          },
          "entity_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Carrier, Broker, Freight Forwarder, Shipper, Registrant, IEP or Cargo Tank."
          },
          "carrier_operation": {
            "type": "string",
            "nullable": true
          },
          "business_type": {
            "type": "string",
            "nullable": true
          },
          "registration_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "physical_address": {
            "$ref": "#/components/schemas/Address"
          },
          "mailing_address": {
            "$ref": "#/components/schemas/Address"
          },
          "dockets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Docket"
            }
          },
          "authority": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Authority"
            }
          },
          "power_units": {
            "type": "integer",
            "nullable": true
          },
          "drivers": {
            "type": "integer",
            "nullable": true
          },
          "mcs150_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "safety_rating": {
            "type": "string",
            "description": "Satisfactory, Conditional, Unsatisfactory or Unrated. Unrated is a normal, acceptable state: roughly 92% of active interstate carriers hold no rating."
          },
          "safety_rating_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "out_of_service": {
            "type": "boolean"
          },
          "out_of_service_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "out_of_service_reason": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "fax": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "cell_phone": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "email_address": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "company_officer_1": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "company_officer_2": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "undeliverable_address": {
            "type": "boolean",
            "nullable": true,
            "description": "Premium (Business+) field. FMCSA mail to the physical address was returned undeliverable."
          },
          "prior_revocation": {
            "type": "boolean",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "prior_revocation_dot_number": {
            "type": "integer",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "mcs150_due_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Premium (Business+) field. Computed from the 49 CFR 390.19 biennial schedule."
          },
          "mcs150_overdue": {
            "type": "boolean",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "mcs150_mileage": {
            "type": "integer",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "recordable_crash_rate": {
            "type": "number",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "operation_classifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Premium (Business+) field."
          },
          "cargo_classes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Premium (Business+) field."
          },
          "equipment": {
            "type": "object",
            "description": "Premium (Business+) field. Owned, term-leased and trip-leased counts by body class.",
            "additionalProperties": true
          },
          "hazmat": {
            "type": "boolean",
            "nullable": true,
            "description": "Premium (Business+) field."
          },
          "dun_bradstreet_number": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field."
          }
        }
      },
      "Check": {
        "type": "object",
        "properties": {
          "pass": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "Criteria": {
        "type": "object",
        "description": "Per-check evaluation against C.H. Robinson's published carrier selection criteria. Deliberately returns no overall verdict: these are individual criteria checks, not a safety determination.",
        "properties": {
          "criteria_source": {
            "type": "string"
          },
          "checks": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Check"
            }
          },
          "checks_passed": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "checks_failed": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "note": {
            "type": "string"
          }
        }
      },
      "Provenance": {
        "type": "object",
        "properties": {
          "data_as_of": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "date"
            },
            "description": "Upstream publication date per source."
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CarrierResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Provenance"
          },
          {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "carrier": {
                "$ref": "#/components/schemas/Carrier"
              },
              "criteria": {
                "$ref": "#/components/schemas/Criteria"
              }
            }
          }
        ]
      },
      "CarrierSummary": {
        "type": "object",
        "properties": {
          "dot_number": {
            "type": "integer"
          },
          "legal_name": {
            "type": "string",
            "nullable": true
          },
          "dba_name": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "carrier_operation": {
            "type": "string",
            "nullable": true
          },
          "power_units": {
            "type": "integer",
            "nullable": true
          },
          "drivers": {
            "type": "integer",
            "nullable": true
          },
          "safety_rating": {
            "type": "string"
          }
        }
      },
      "SearchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Provenance"
          },
          {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "offset": {
                "type": "integer"
              },
              "carriers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CarrierSummary"
                }
              }
            }
          }
        ]
      },
      "InsuranceFiling": {
        "type": "object",
        "properties": {
          "form_code": {
            "type": "string",
            "description": "BMC-91, BMC-91X, BMC-34, BMC-84, BMC-85 or BMC-35."
          },
          "insurance_type": {
            "type": "string",
            "nullable": true
          },
          "insurer_name": {
            "type": "string",
            "nullable": true
          },
          "policy_number": {
            "type": "string",
            "nullable": true
          },
          "coverage_amount": {
            "type": "integer",
            "nullable": true,
            "description": "Always US dollars."
          },
          "coverage_currency": {
            "type": "string",
            "example": "USD"
          },
          "underlying_limit": {
            "type": "integer",
            "nullable": true
          },
          "effective_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "cancellation_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "days_until_cancellation": {
            "type": "integer",
            "nullable": true
          },
          "cancellation_pending": {
            "type": "boolean",
            "description": "Within the 30-day BMC-35 notice window under 49 CFR 387.313(d)."
          },
          "docket": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "InsuranceResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Provenance"
          },
          {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "dot_number": {
                "type": "integer",
                "nullable": true
              },
              "summary": {
                "type": "object",
                "properties": {
                  "bipd_coverage": {
                    "type": "integer",
                    "nullable": true
                  },
                  "cargo_coverage": {
                    "type": "integer",
                    "nullable": true
                  },
                  "bond_coverage": {
                    "type": "integer",
                    "nullable": true
                  },
                  "active_filings": {
                    "type": "integer"
                  },
                  "cancellation_pending": {
                    "type": "boolean"
                  },
                  "days_until_cancellation": {
                    "type": "integer",
                    "nullable": true
                  },
                  "bond_below_threshold": {
                    "type": "boolean",
                    "description": "Broker bond under the $75,000 floor in 49 CFR 387.307."
                  },
                  "bond_threshold": {
                    "type": "integer"
                  },
                  "insurer_count": {
                    "type": "integer"
                  }
                }
              },
              "filings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InsuranceFiling"
                }
              },
              "cancellation_notices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InsuranceFiling"
                },
                "description": "BMC-35 filings. These are cancellation notices, not coverage."
              }
            }
          }
        ]
      },
      "Basic": {
        "type": "object",
        "properties": {
          "basic": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "measure": {
            "type": "number",
            "nullable": true
          },
          "inspections_with_violation": {
            "type": "integer",
            "nullable": true
          },
          "acute_critical_violation": {
            "type": "boolean",
            "nullable": true
          },
          "percentile": {
            "type": "number",
            "nullable": true,
            "description": "Published by FMCSA for passenger carriers only. Null for property carriers: public display was removed by section 5223 of the FAST Act (2015)."
          },
          "alert": {
            "type": "boolean",
            "nullable": true,
            "description": "Passenger carriers only."
          },
          "trend": {
            "type": "string",
            "nullable": true,
            "description": "Premium (Business+) field. up, down or flat against the prior monthly snapshot."
          },
          "availability": {
            "type": "string",
            "nullable": true,
            "description": "Set to not_public for Crash Indicator and HazMat Compliance, which FMCSA withholds."
          }
        }
      },
      "SafetyResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Provenance"
          },
          {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "dot_number": {
                "type": "integer",
                "nullable": true
              },
              "carrier_class": {
                "type": "string",
                "nullable": true,
                "enum": [
                  "property",
                  "passenger",
                  null
                ]
              },
              "window_months": {
                "type": "integer"
              },
              "crashes": {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "integer"
                  },
                  "fatal": {
                    "type": "integer"
                  },
                  "injury": {
                    "type": "integer"
                  },
                  "tow_away": {
                    "type": "integer"
                  }
                }
              },
              "inspections": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "inspections": {
                      "type": "integer"
                    },
                    "out_of_service": {
                      "type": "integer"
                    },
                    "out_of_service_pct": {
                      "type": "number",
                      "nullable": true
                    },
                    "national_average_pct": {
                      "type": "number",
                      "nullable": true,
                      "description": "Premium (Business+) field."
                    }
                  }
                }
              },
              "basics": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Basic"
                }
              },
              "percentile_availability": {
                "type": "string"
              },
              "percentile_note": {
                "type": "string"
              },
              "not_public": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "coverage_note": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Link": {
        "type": "object",
        "properties": {
          "link_type": {
            "type": "string",
            "enum": [
              "address",
              "phone",
              "email_domain",
              "officer"
            ]
          },
          "description": {
            "type": "string"
          },
          "shared_value": {
            "type": "string",
            "nullable": true
          },
          "association": {
            "type": "string",
            "nullable": true
          },
          "linked_carrier_count": {
            "type": "integer"
          },
          "linked_carriers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CarrierSummary"
            }
          }
        }
      },
      "LinksResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Provenance"
          },
          {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "dot_number": {
                "type": "integer",
                "nullable": true
              },
              "linked_carrier_count": {
                "type": "integer"
              },
              "links": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Link"
                }
              },
              "linked_to_revoked_authority": {
                "type": "boolean"
              },
              "revoked_linked_dot_numbers": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "note": {
                "type": "string"
              }
            }
          }
        ]
      },
      "MotorCarrierOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "Motorcycle": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "description": "Name of manufacturer/brand."
          },
          "model": {
            "type": "string",
            "description": "Name of motorcycle model."
          },
          "year": {
            "type": "string",
            "description": "Release year of motorcycle model."
          },
          "type": {
            "type": "string",
            "description": "Type of motorcycle."
          },
          "displacement": {
            "type": "string",
            "description": "Engine displacement."
          },
          "engine": {
            "type": "string",
            "description": "Engine type."
          },
          "power": {
            "type": "string",
            "description": "Power output."
          },
          "torque": {
            "type": "string",
            "description": "Torque."
          },
          "compression": {
            "type": "string",
            "description": "Compression ratio."
          },
          "bore_stroke": {
            "type": "string",
            "description": "Bore and stroke."
          },
          "valves_per_cylinder": {
            "type": "string",
            "description": "Number of valves per cylinder."
          },
          "fuel_system": {
            "type": "string",
            "description": "Fuel system type."
          },
          "fuel_control": {
            "type": "string",
            "description": "Fuel control type."
          },
          "ignition": {
            "type": "string",
            "description": "Ignition type."
          },
          "lubrication": {
            "type": "string",
            "description": "Lubrication method."
          },
          "cooling": {
            "type": "string",
            "description": "Cooling system."
          },
          "gearbox": {
            "type": "string",
            "description": "Gearbox type."
          },
          "transmission": {
            "type": "string",
            "description": "Transmission type."
          },
          "clutch": {
            "type": "string",
            "description": "Clutch type."
          },
          "frame": {
            "type": "string",
            "description": "Frame type."
          },
          "front_suspension": {
            "type": "string",
            "description": "Front suspension type."
          },
          "front_wheel_travel": {
            "type": "string",
            "description": "Front wheel travel distance."
          },
          "rear_suspension": {
            "type": "string",
            "description": "Rear suspension type."
          },
          "rear_wheel_travel": {
            "type": "string",
            "description": "Rear wheel travel distance."
          },
          "front_tire": {
            "type": "string",
            "description": "Front tire specification."
          },
          "rear_tire": {
            "type": "string",
            "description": "Rear tire specification."
          },
          "front_brakes": {
            "type": "string",
            "description": "Front brakes type."
          },
          "rear_brakes": {
            "type": "string",
            "description": "Rear brakes type."
          },
          "total_weight": {
            "type": "string",
            "description": "Total weight of the motorcycle."
          },
          "seat_height": {
            "type": "string",
            "description": "Seat height."
          },
          "total_height": {
            "type": "string",
            "description": "Total height of the motorcycle."
          },
          "total_length": {
            "type": "string",
            "description": "Total length of the motorcycle."
          },
          "total_width": {
            "type": "string",
            "description": "Total width of the motorcycle."
          },
          "ground_clearance": {
            "type": "string",
            "description": "Ground clearance."
          },
          "wheelbase": {
            "type": "string",
            "description": "Wheelbase."
          },
          "fuel_capacity": {
            "type": "string",
            "description": "Fuel capacity."
          },
          "starter": {
            "type": "string",
            "description": "Starter type."
          }
        }
      },
      "Makes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "Models": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "MutualFundResponse": {
        "type": "object",
        "properties": {
          "fund_ticker": {
            "type": "string",
            "description": "Mutual Fund ticker symbol."
          },
          "fund_name": {
            "type": "string",
            "description": "Mutual Fund name."
          },
          "isin": {
            "type": "string",
            "description": "International Securities Identification Number (ISIN) of the Mutual Fund."
          },
          "cusip": {
            "type": "string",
            "description": "Nine-character Committee on Uniform Security Identification Procedures (CUSIP) identifier for the Mutual Fund."
          },
          "country": {
            "type": "string",
            "description": "Country of the Mutual Fund issuer."
          },
          "price": {
            "type": "number",
            "description": "Current price of the Mutual Fund in USD (premium only)."
          },
          "aum": {
            "type": "number",
            "description": "Assets under management of the Mutual Fund in USD (premium only)."
          },
          "expense_ratio": {
            "type": "number",
            "description": "Annual net expense ratio as a percent; 0.04 means 0.04% (premium only)."
          },
          "num_holdings": {
            "type": "integer",
            "description": "Total number of holdings in the Mutual Fund (premium only)."
          },
          "holdings": {
            "type": "array",
            "description": "The Mutual Fund's holdings (premium only).",
            "items": {
              "$ref": "#/components/schemas/MutualFundHolding"
            }
          },
          "performance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundPerformance"
              }
            ],
            "nullable": true,
            "description": "Trailing total-return performance for this share class. Business tier and above (Business, Professional, or any annual subscription). Null when the fund has no SEC N-PORT return history."
          }
        }
      },
      "MutualFundHolding": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Ticker symbol of the held security."
          },
          "num_shares": {
            "type": "number",
            "description": "Number of shares held."
          },
          "weight": {
            "type": "number",
            "description": "Portfolio weight as a decimal fraction; 0.0751 means 7.51%."
          },
          "value": {
            "type": "number",
            "description": "Position value in USD."
          },
          "last_updated": {
            "type": "integer",
            "description": "Unix timestamp of the position as-of date."
          }
        }
      },
      "MXRecord": {
        "type": "object",
        "properties": {
          "priority": {
            "type": "integer",
            "description": "The priority of the mail server. Lower values denote higher priority."
          },
          "value": {
            "type": "string",
            "description": "The domain name of the mail server."
          }
        },
        "required": [
          "priority",
          "value"
        ]
      },
      "MXLookupResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MXRecord"
        }
      },
      "MxLookupOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        },
        "required": [
          "message"
        ]
      },
      "NaicsCodeOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "NaicsCodeOpenapi_Provenance": {
        "type": "object",
        "properties": {
          "data_as_of": {
            "type": "string",
            "description": "Publication date of the underlying source data."
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string",
            "description": "Source attribution, including the Statistics Canada or INEGI notice where applicable."
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "HierarchyLevel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "level": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "CrossReference": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Crosswalk": {
        "type": "object",
        "properties": {
          "to": {
            "type": "string"
          },
          "change_type": {
            "type": "string",
            "enum": [
              "unchanged",
              "renamed",
              "split",
              "merged",
              "new",
              "discontinued"
            ]
          },
          "mappings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "share": {
                  "type": "number",
                  "nullable": true
                }
              }
            }
          },
          "note": {
            "type": "string"
          }
        }
      },
      "NaicsCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "level": {
            "type": "integer"
          },
          "level_name": {
            "type": "string",
            "enum": [
              "sector",
              "subsector",
              "industry_group",
              "industry",
              "national_industry"
            ]
          },
          "year": {
            "type": "integer"
          },
          "country": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hierarchy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HierarchyLevel"
            }
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "index_terms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "index_term_count": {
            "type": "integer"
          },
          "cross_references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrossReference"
            }
          },
          "changes_in_2027": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string"
              },
              "notes": {
                "type": "string",
                "nullable": true
              }
            }
          },
          "crosswalk": {
            "$ref": "#/components/schemas/Crosswalk"
          },
          "data_as_of": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "pointers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Census '******' pointer entries, surfaced by /naicssearch when nothing else matched."
          }
        }
      },
      "SearchResult": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "matched_on": {
            "type": "string",
            "enum": [
              "index_term",
              "title",
              "description"
            ]
          },
          "matched_text": {
            "type": "string"
          }
        }
      },
      "NaicsCodeOpenapi_SearchResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchResult"
            }
          },
          "data_as_of": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "SizeStandardResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "size_standard": {
            "type": "object",
            "properties": {
              "basis": {
                "type": "string",
                "enum": [
                  "annual_receipts",
                  "employees"
                ]
              },
              "threshold_usd": {
                "type": "number",
                "nullable": true
              },
              "threshold_employees": {
                "type": "integer",
                "nullable": true
              }
            }
          },
          "eligibility": {
            "type": "object",
            "nullable": true,
            "properties": {
              "is_small": {
                "type": "boolean"
              },
              "evaluated_on": {
                "type": "string"
              },
              "your_value": {
                "type": "number"
              },
              "headroom_usd": {
                "type": "number",
                "nullable": true
              },
              "headroom_pct": {
                "type": "number",
                "nullable": true
              }
            }
          },
          "footnotes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "calculation_basis": {
            "type": "string",
            "description": "Premium. Business tier and above."
          },
          "affiliation_note": {
            "type": "string",
            "description": "Premium. Business tier and above."
          },
          "exceptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Premium. Business tier and above."
          },
          "authority": {
            "type": "string",
            "example": "13 CFR 121.201"
          },
          "effective_date": {
            "type": "string",
            "format": "date"
          },
          "data_as_of": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "ClassifyRule": {
        "type": "object",
        "properties": {
          "rule": {
            "type": "string",
            "enum": [
              "primary_activity",
              "cross_reference_exclusion",
              "establishment_scope"
            ]
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "source_text": {
            "type": "string",
            "nullable": true
          },
          "outcome": {
            "type": "string",
            "nullable": true,
            "enum": [
              "excluded",
              "not_excluded"
            ]
          },
          "detail": {
            "type": "string"
          }
        }
      },
      "ClassifyResponse": {
        "type": "object",
        "properties": {
          "input": {
            "type": "string"
          },
          "primary": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "confidence": {
                "type": "number"
              },
              "decided_by": {
                "type": "string"
              }
            }
          },
          "secondary_codes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "activity": {
                  "type": "string"
                },
                "ancillary": {
                  "type": "boolean"
                }
              }
            }
          },
          "adjudication": {
            "type": "object",
            "properties": {
              "candidates_considered": {
                "type": "integer"
              },
              "rules_applied": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ClassifyRule"
                }
              },
              "evidence": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "text": {
                      "type": "string"
                    },
                    "similarity": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          "establishment_note": {
            "type": "string",
            "nullable": true
          },
          "alternatives": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "confidence": {
                  "type": "number"
                },
                "rejected_by": {
                  "type": "string"
                }
              }
            }
          },
          "method": {
            "type": "string"
          },
          "classified_at": {
            "type": "string",
            "format": "date-time"
          },
          "data_as_of": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "RiskResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "risk_level": {
            "type": "string",
            "enum": [
              "low",
              "moderate",
              "high"
            ]
          },
          "flags": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          },
          "rationale": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "typical_mcc": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "commonly_prohibited_by": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "review_recommendation": {
            "type": "string",
            "enum": [
              "standard",
              "enhanced_due_diligence",
              "decline_typical"
            ]
          },
          "data_as_of": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "disclaimer": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "NutritionItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the food item."
          },
          "calories": {
            "type": "number",
            "description": "Nutritional energy in calories. Available on premium (paid) plans."
          },
          "serving_size_g": {
            "type": "number",
            "description": "Serving size in grams."
          },
          "fat_total_g": {
            "type": "number",
            "description": "Total combined fat in grams."
          },
          "fat_saturated_g": {
            "type": "number",
            "description": "Saturated fat in grams."
          },
          "protein_g": {
            "type": "number",
            "description": "Protein in grams. Available on premium (paid) plans."
          },
          "sodium_mg": {
            "type": "number",
            "description": "Sodium in milligrams."
          },
          "potassium_mg": {
            "type": "number",
            "description": "Potassium in milligrams."
          },
          "cholesterol_mg": {
            "type": "number",
            "description": "Cholesterol in milligrams."
          },
          "carbohydrates_total_g": {
            "type": "number",
            "description": "Total carbohydrates in grams."
          },
          "fiber_g": {
            "type": "number",
            "description": "Fiber in grams."
          },
          "sugar_g": {
            "type": "number",
            "description": "Sugar in grams."
          },
          "fat_trans_g": {
            "type": "number",
            "description": "Trans fat in grams. Available on Business plans and above."
          },
          "added_sugars_g": {
            "type": "number",
            "description": "Added sugars in grams. Available on Business plans and above."
          },
          "net_carbs_g": {
            "type": "number",
            "description": "Net carbohydrates (total carbohydrates minus fiber) in grams. Available on Business plans and above."
          },
          "iron_mg": {
            "type": "number",
            "description": "Iron in milligrams. Available on Business plans and above."
          },
          "calcium_mg": {
            "type": "number",
            "description": "Calcium in milligrams. Available on Business plans and above."
          },
          "magnesium_mg": {
            "type": "number",
            "description": "Magnesium in milligrams. Available on Business plans and above."
          },
          "zinc_mg": {
            "type": "number",
            "description": "Zinc in milligrams. Available on Business plans and above."
          },
          "vitamin_a_mcg": {
            "type": "number",
            "description": "Vitamin A in micrograms (RAE). Available on Business plans and above."
          },
          "vitamin_c_mg": {
            "type": "number",
            "description": "Vitamin C in milligrams. Available on Business plans and above."
          },
          "vitamin_d_mcg": {
            "type": "number",
            "description": "Vitamin D in micrograms. Available on Business plans and above."
          },
          "image_url": {
            "type": "string",
            "format": "uri",
            "description": "Public representative food image URL. Included only when an image is available. Available on all plans; the image does not represent an exact serving size."
          }
        }
      },
      "BrandedNutritionItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name/description of the branded food product."
          },
          "brand": {
            "type": "string",
            "description": "Brand owner or brand name of the product."
          },
          "barcode": {
            "type": "string",
            "description": "GTIN/UPC barcode of the product."
          },
          "category": {
            "type": "string",
            "description": "Branded food category."
          },
          "serving_size_g": {
            "type": "number",
            "description": "Serving size in grams (or milliliters). Nutrition values below are per this serving."
          },
          "calories": {
            "type": "number",
            "description": "Nutritional energy in calories."
          },
          "protein_g": {
            "type": "number",
            "description": "Protein in grams."
          },
          "fat_total_g": {
            "type": "number",
            "description": "Total combined fat in grams."
          },
          "fat_saturated_g": {
            "type": "number",
            "description": "Saturated fat in grams."
          },
          "fat_trans_g": {
            "type": "number",
            "description": "Trans fat in grams."
          },
          "carbohydrates_total_g": {
            "type": "number",
            "description": "Total carbohydrates in grams."
          },
          "fiber_g": {
            "type": "number",
            "description": "Fiber in grams."
          },
          "sugar_g": {
            "type": "number",
            "description": "Sugar in grams."
          },
          "added_sugars_g": {
            "type": "number",
            "description": "Added sugars in grams."
          },
          "net_carbs_g": {
            "type": "number",
            "description": "Net carbohydrates (total carbohydrates minus fiber) in grams."
          },
          "sodium_mg": {
            "type": "number",
            "description": "Sodium in milligrams."
          },
          "potassium_mg": {
            "type": "number",
            "description": "Potassium in milligrams."
          },
          "cholesterol_mg": {
            "type": "number",
            "description": "Cholesterol in milligrams."
          },
          "iron_mg": {
            "type": "number",
            "description": "Iron in milligrams."
          },
          "calcium_mg": {
            "type": "number",
            "description": "Calcium in milligrams."
          },
          "vitamin_a_mcg": {
            "type": "number",
            "description": "Vitamin A in micrograms (RAE)."
          },
          "vitamin_c_mg": {
            "type": "number",
            "description": "Vitamin C in milligrams."
          },
          "vitamin_d_mcg": {
            "type": "number",
            "description": "Vitamin D in micrograms."
          },
          "allergens": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Detected allergens (e.g., milk, egg, peanut, tree_nut, soy, wheat, fish, shellfish, sesame)."
          },
          "ingredients": {
            "type": "string",
            "description": "Full ingredient statement from the product label."
          }
        }
      },
      "NutritionResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/NutritionItem"
        }
      },
      "BrandedNutritionResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BrandedNutritionItem"
        }
      },
      "ObjectDetectionResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "description": "The label of the detected object."
            },
            "confidence": {
              "type": "string",
              "description": "The confidence score of the detected object (between 0 and 1), returned as a string."
            },
            "bounding_box": {
              "type": "object",
              "properties": {
                "x1": {
                  "type": "string",
                  "description": "X-coordinate of the top-left corner of the bounding box, returned as a string."
                },
                "y1": {
                  "type": "string",
                  "description": "Y-coordinate of the top-left corner of the bounding box, returned as a string."
                },
                "x2": {
                  "type": "string",
                  "description": "X-coordinate of the bottom-right corner of the bounding box, returned as a string."
                },
                "y2": {
                  "type": "string",
                  "description": "Y-coordinate of the bottom-right corner of the bounding box, returned as a string."
                }
              }
            }
          }
        }
      },
      "ObjectDetectionOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "OilPriceResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The requested oil/energy benchmark (wti, brent, natural_gas, gasoline, or diesel)."
          },
          "name": {
            "type": "string",
            "description": "The display name of the benchmark (e.g., Crude Oil, Brent Crude Oil)."
          },
          "price": {
            "type": "number",
            "description": "The current price. Free tier returns the most recent daily closing price for WTI and Brent; premium tiers return the real-time price. See unit and currency_unit for the price convention."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit (barrel for crude, gallon for heating oil / RBOB gasoline, MMBtu for natural gas). Can be converted with the unit parameter (premium)."
          },
          "currency_unit": {
            "type": "string",
            "description": "Price convention, USD by default. Can be converted with the currency parameter (premium)."
          },
          "previous_close": {
            "type": "number",
            "description": "The previous session's closing price."
          },
          "change_24h": {
            "type": "number",
            "description": "Change versus the previous close."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change versus the previous close."
          },
          "high_24h": {
            "type": "number",
            "description": "The day's high price (real-time / premium)."
          },
          "low_24h": {
            "type": "number",
            "description": "The day's low price (real-time / premium)."
          },
          "high_52w": {
            "type": "number",
            "description": "52-week high. Developer tier and above; returned as a premium-only message for free users."
          },
          "low_52w": {
            "type": "number",
            "description": "52-week low. Developer tier and above; returned as a premium-only message for free users."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the price."
          },
          "futures_contract": {
            "type": "string",
            "description": "The futures contract `price` is quoted for (e.g., GCZ26 = December 2026 gold). Omitted when the contract can't be identified."
          },
          "futures_contract_month": {
            "type": "string",
            "description": "Delivery month of futures_contract (YYYY-MM)."
          }
        }
      },
      "OilPriceOpenapi_BatchItemError": {
        "type": "object",
        "description": "Error entry returned for a single type in a batch request that failed or is not permitted.",
        "properties": {
          "type": {
            "type": "string"
          },
          "error": {
            "type": "string"
          }
        }
      },
      "HistoricalOilPriceResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "open": {
              "type": "number",
              "description": "The opening price for this time period."
            },
            "low": {
              "type": "number",
              "description": "The lowest price during this time period."
            },
            "high": {
              "type": "number",
              "description": "The highest price during this time period."
            },
            "close": {
              "type": "number",
              "description": "The closing price for this time period."
            },
            "volume": {
              "type": "integer",
              "description": "The trading volume during this time period."
            },
            "time": {
              "type": "integer",
              "description": "The Unix timestamp (seconds) for this data point."
            }
          }
        }
      },
      "OilSpotResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The requested benchmark (wti, brent, natural_gas, gasoline, or diesel)."
          },
          "name": {
            "type": "string",
            "description": "The display name of the benchmark."
          },
          "price": {
            "type": "number",
            "description": "The U.S. EIA's official daily spot price for the benchmark's physical hub, as of date."
          },
          "spot_type": {
            "type": "string",
            "enum": [
              "assessed"
            ],
            "description": "assessed = the official EIA spot price."
          },
          "date": {
            "type": "string",
            "description": "The trading day the price is for (YYYY-MM-DD). The EIA publishes weekly, so it trails by several days."
          },
          "benchmark": {
            "type": "string",
            "description": "The physical spot benchmark: WTI Cushing, Oklahoma; Brent Europe; Henry Hub; New York Harbor conventional regular gasoline; or New York Harbor ultra-low sulfur diesel."
          },
          "previous_close": {
            "type": "number",
            "description": "The spot price on the previous trading day."
          },
          "change_24h": {
            "type": "number",
            "description": "Change versus the previous close."
          },
          "change_24h_percent": {
            "type": "number",
            "description": "Percent change versus the previous close."
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp (seconds) of the spot price."
          },
          "unit": {
            "type": "string",
            "description": "The quote unit."
          },
          "currency_unit": {
            "type": "string",
            "description": "Price currency, USD by default."
          }
        }
      },
      "PasswordResponse": {
        "type": "object",
        "properties": {
          "random_password": {
            "type": "string",
            "example": "nYs43u5f1oGK9*g5"
          }
        }
      },
      "PasswordGeneratorOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "PhoneLookupResponse": {
        "type": "object",
        "properties": {
          "is_valid": {
            "type": "boolean",
            "description": "Whether the phone number is valid."
          },
          "number": {
            "type": "string",
            "description": "The phone number in E.164 format."
          },
          "country": {
            "type": "string",
            "description": "Full country name the number is registered to."
          },
          "country_code": {
            "type": "integer",
            "description": "The international (calling) country code, e.g. 1 for the US."
          },
          "region_code": {
            "type": "string",
            "description": "2-letter ISO-3166 region code, e.g. US."
          },
          "location": {
            "type": "string",
            "description": "Sub-national geographic description, when available."
          },
          "line_type": {
            "type": "string",
            "description": "Line type: mobile, landline, voip, toll_free, fixed_line_or_mobile, premium_rate, shared_cost, personal_number, pager, uan, voicemail, or unknown. Refined for the US from block-level data. Premium (Business+) field."
          },
          "carrier": {
            "type": "string",
            "description": "Carrier / operator name (original allocation, not corrected for number portability). May be null where no data is available. Premium (Business+) field."
          },
          "is_voip": {
            "type": "boolean",
            "description": "Whether the number belongs to a VOIP provider. Premium (Business+) field."
          },
          "mcc": {
            "type": "string",
            "description": "Mobile Country Code of the operator, when known. Premium (Business+) field."
          },
          "mnc": {
            "type": "string",
            "description": "Mobile Network Code of the operator, when known. Premium (Business+) field."
          },
          "is_disposable": {
            "type": "boolean",
            "description": "Whether the number is a known disposable / receive-SMS number. Premium (Business+) field."
          }
        }
      },
      "PhoneLookupOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "PinCodeInfo": {
        "type": "object",
        "properties": {
          "pincode": {
            "type": "string",
            "example": "110001"
          },
          "city": {
            "type": "string",
            "example": "New Delhi"
          },
          "state": {
            "type": "string",
            "example": "Delhi"
          },
          "state_code": {
            "type": "string",
            "description": "Premium only.",
            "example": "DL"
          },
          "district": {
            "type": "string",
            "description": "Premium only.",
            "example": "New Delhi"
          },
          "district_code": {
            "type": "string",
            "description": "Premium only."
          },
          "lat": {
            "type": "string",
            "description": "Premium only.",
            "example": "28.6139"
          },
          "lon": {
            "type": "string",
            "description": "Premium only.",
            "example": "77.2090"
          },
          "accuracy": {
            "type": "integer",
            "description": "How the coordinates were derived: 6 = centroid of addresses or shape, 4 = gazetteer match, 1 = estimated. Published rather than implying uniform precision. Premium only.",
            "example": 4
          },
          "timezone": {
            "type": "string",
            "example": "Asia/Kolkata"
          }
        }
      },
      "PinCodeOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "Planet": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the planet."
          },
          "mass": {
            "type": "number",
            "description": "Mass of the planet in Jupiters."
          },
          "radius": {
            "type": "number",
            "description": "Average radius of the planet in Jupiters."
          },
          "period": {
            "type": "integer",
            "description": "Orbital period of the planet in Earth days."
          },
          "semi_major_axis": {
            "type": "number",
            "description": "Semi major axis of planet in astronomical units (AU)."
          },
          "temperature": {
            "type": "integer",
            "description": "Average surface temperature of the planet in Kelvin."
          },
          "distance_light_year": {
            "type": "number",
            "description": "Distance the planet is from Earth in light years."
          },
          "host_star_mass": {
            "type": "number",
            "description": "Mass of the host star in solar masses."
          },
          "host_star_temperature": {
            "type": "integer",
            "description": "Temperature of the host star in Kelvin."
          }
        }
      },
      "PopulationResponse": {
        "type": "object",
        "properties": {
          "country_name": {
            "type": "string"
          },
          "historical_population": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PopulationData"
            }
          },
          "population_forecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PopulationData"
            }
          }
        }
      },
      "PopulationData": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer"
          },
          "population": {
            "type": "integer"
          },
          "yearly_change_percentage": {
            "type": "number"
          },
          "yearly_change": {
            "type": "integer"
          },
          "migrants": {
            "type": "integer"
          },
          "median_age": {
            "type": "number"
          },
          "fertility_rate": {
            "type": "number"
          },
          "density": {
            "type": "integer"
          },
          "urban_population_pct": {
            "type": "number"
          },
          "urban_population": {
            "type": "integer"
          },
          "percentage_of_world_population": {
            "type": "number"
          },
          "rank": {
            "type": "integer"
          }
        }
      },
      "PostalCodeInfo": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "example": "Ottawa"
          },
          "province": {
            "type": "string",
            "example": "ON"
          },
          "postal_code": {
            "type": "string",
            "example": "K1A 0B1"
          },
          "area_code": {
            "type": "string",
            "example": "613"
          },
          "timezone": {
            "type": "string",
            "example": "America/Toronto"
          },
          "lat": {
            "type": "string",
            "example": "45.4168"
          },
          "lon": {
            "type": "string",
            "example": "-75.7002"
          }
        }
      },
      "PostalCodeOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "ProfanityFilterResponse": {
        "type": "object",
        "properties": {
          "original": {
            "type": "string",
            "description": "The original input text."
          },
          "censored": {
            "type": "string",
            "description": "The censored version of the input text, with profanity replaced by asterisks."
          },
          "has_profanity": {
            "type": "boolean",
            "description": "Indicates whether the input text contains profanity."
          }
        }
      },
      "ProfanityFilterOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the issue."
          },
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP status code."
          }
        }
      },
      "PropertyTaxResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "state": {
              "type": "string",
              "description": "2-letter abbreviation of the state (case-insensitive)."
            },
            "county": {
              "type": "string",
              "description": "The name of the county for which property tax data is being requested."
            },
            "city": {
              "type": "string",
              "description": "Full name of the city to search (case-sensitive)."
            },
            "zip": {
              "type": "string",
              "description": "The ZIP Code of the property tax rate jurisdiction."
            },
            "property_tax_25th_percentile": {
              "type": "number",
              "description": "The 25th percentile effective property tax rate."
            },
            "property_tax_50th_percentile": {
              "type": "number",
              "description": "The 50th percentile effective property tax rate."
            },
            "property_tax_75th_percentile": {
              "type": "number",
              "description": "The 75th percentile effective property tax rate."
            }
          }
        }
      },
      "PublicHoliday": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Holiday name."
          },
          "local_name": {
            "type": "string",
            "description": "Local holiday name."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Holiday date."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          },
          "year": {
            "type": "integer",
            "description": "Calendar year."
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of regions where the holiday is observed."
          },
          "federal": {
            "type": "boolean",
            "description": "Whether the holiday is a federal holiday."
          }
        }
      },
      "IsPublicHoliday": {
        "type": "object",
        "properties": {
          "is_public_holiday": {
            "type": "boolean",
            "description": "Whether the date is a public holiday."
          },
          "public_holiday_name": {
            "type": "string",
            "description": "Name of the public holiday."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Holiday date in YYYY-MM-DD format."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          }
        }
      },
      "Quote": {
        "type": "object",
        "properties": {
          "quote": {
            "type": "string",
            "description": "The quote text."
          },
          "author": {
            "type": "string",
            "description": "The author of the quote."
          },
          "work": {
            "type": "string",
            "description": "The work/book from which the quote originates (if available)."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of categories associated with the quote."
          }
        },
        "required": [
          "quote",
          "author"
        ]
      },
      "QuotesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "RandomUserResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RandomUserProfile"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "RandomUserProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "username": {
            "type": "string",
            "example": "kristinward"
          },
          "password": {
            "type": "string",
            "example": "SecurePass123!"
          },
          "name": {
            "type": "string",
            "example": "Katherine Gill"
          },
          "first_name": {
            "type": "string",
            "example": "Katherine"
          },
          "last_name": {
            "type": "string",
            "example": "Gill"
          },
          "full_name": {
            "type": "string",
            "example": "Katherine Gill"
          },
          "prefix": {
            "type": "string",
            "example": "Ms."
          },
          "suffix": {
            "type": "string",
            "example": "Jr."
          },
          "email": {
            "type": "string",
            "format": "email",
            "example": "jestrada@gmail.com"
          },
          "phone": {
            "type": "string",
            "example": "+1-555-123-4567"
          },
          "cell": {
            "type": "string",
            "example": "+1-555-123-4567"
          },
          "address": {
            "type": "string",
            "example": "122 Powell Trace Suite 016, Lloydport, SC 08075"
          },
          "street_address": {
            "type": "string",
            "example": "122 Powell Trace Suite 016"
          },
          "city": {
            "type": "string",
            "example": "Lloydport"
          },
          "state": {
            "type": "string",
            "example": "SC"
          },
          "postal_code": {
            "type": "string",
            "example": "08075"
          },
          "country": {
            "type": "string",
            "example": "United States"
          },
          "latitude": {
            "type": "number",
            "format": "float",
            "example": 34.0522
          },
          "longitude": {
            "type": "number",
            "format": "float",
            "example": -118.2437
          },
          "timezone": {
            "type": "string",
            "example": "America/Los_Angeles"
          },
          "dob": {
            "type": "string",
            "format": "date",
            "example": "1958-04-05"
          },
          "age": {
            "type": "integer",
            "example": 65
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "nonbinary"
            ],
            "example": "female"
          },
          "job": {
            "type": "string",
            "example": "Software Engineer"
          },
          "company": {
            "type": "string",
            "example": "Tech Corp"
          },
          "company_email": {
            "type": "string",
            "format": "email",
            "example": "katherine.gill@techcorp.com"
          },
          "ssn": {
            "type": "string",
            "example": "123-45-6789"
          },
          "credit_card": {
            "type": "string",
            "example": "4532-1234-5678-9010"
          },
          "credit_card_provider": {
            "type": "string",
            "example": "Visa"
          },
          "iban": {
            "type": "string",
            "example": "GB82WEST12345698765432"
          },
          "ipv4": {
            "type": "string",
            "format": "ipv4",
            "example": "192.168.1.1"
          },
          "ipv6": {
            "type": "string",
            "format": "ipv6",
            "example": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
          },
          "mac_address": {
            "type": "string",
            "example": "00:1B:44:11:3A:B7"
          },
          "user_agent": {
            "type": "string",
            "example": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "example": "https://example.com"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "picture": {
            "type": "string",
            "format": "uri",
            "example": "https://picsum.photos/200/300"
          },
          "avatar": {
            "type": "string",
            "format": "uri",
            "example": "https://picsum.photos/200/200"
          },
          "uuid": {
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "md5": {
            "type": "string",
            "example": "5d41402abc4b2a76b9719d911017c592"
          },
          "sha1": {
            "type": "string",
            "example": "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
          },
          "sha256": {
            "type": "string",
            "example": "2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"
          },
          "locale": {
            "type": "string",
            "example": "en_US"
          }
        }
      },
      "RandomWordResponse": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "example": "theorbos"
          }
        }
      },
      "Error400": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "Error401": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "Error500": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          }
        }
      },
      "Nutrition": {
        "type": "object",
        "properties": {
          "calories": {
            "type": "number",
            "description": "Total calories"
          },
          "total_fat": {
            "type": "number",
            "description": "Total fat in grams"
          },
          "saturated_fat": {
            "type": "number",
            "description": "Saturated fat in grams"
          },
          "protein": {
            "type": "number",
            "description": "Protein in grams"
          },
          "sodium": {
            "type": "number",
            "description": "Sodium in milligrams"
          },
          "potassium": {
            "type": "number",
            "description": "Potassium in milligrams"
          },
          "dietary_fiber": {
            "type": "number",
            "description": "Dietary fiber in grams"
          },
          "cholesterol": {
            "type": "number",
            "description": "Cholesterol in milligrams"
          },
          "sugars": {
            "type": "number",
            "description": "Total sugars in grams"
          },
          "total_carbohydrate": {
            "type": "number",
            "description": "Total carbohydrates in grams"
          }
        }
      },
      "Recipe": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the recipe"
          },
          "ingredients": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Ingredient name"
                },
                "quantity": {
                  "type": "number",
                  "description": "Ingredient quantity"
                },
                "unit": {
                  "type": "string",
                  "description": "Unit of measurement for the quantity"
                }
              }
            },
            "description": "Array of ingredient objects, each containing name, quantity, and unit."
          },
          "servings": {
            "type": "string",
            "description": "Number of servings"
          },
          "instructions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of instruction step strings."
          },
          "nutrition": {
            "$ref": "#/components/schemas/Nutrition",
            "description": "Nutrition information. Only included for premium subscribers and if nutrition data is available for the recipe."
          }
        }
      },
      "RecipeOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message"
          }
        }
      },
      "RhymeResponse": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "An array of words that rhyme with the input word."
      },
      "RhymeOpenapi_Error400": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        }
      },
      "RhymeOpenapi_Error401": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        }
      },
      "RhymeOpenapi_Error500": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        }
      },
      "Riddle": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the riddle."
          },
          "question": {
            "type": "string",
            "description": "The question part of the riddle."
          },
          "answer": {
            "type": "string",
            "description": "The answer to the riddle."
          }
        },
        "required": [
          "title",
          "question",
          "answer"
        ]
      },
      "RiddlesOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the issue."
          }
        }
      },
      "BankInfo": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string",
            "description": "The name of the bank."
          },
          "routing_number": {
            "type": "string",
            "description": "The 9-digit routing number of the bank."
          },
          "street_address": {
            "type": "string",
            "description": "The street address of the bank."
          },
          "city": {
            "type": "string",
            "description": "The city of the bank."
          },
          "state": {
            "type": "string",
            "description": "The state of the bank."
          },
          "zip_code": {
            "type": "string",
            "description": "The ZIP code of the bank."
          },
          "country": {
            "type": "string",
            "description": "The country of the bank."
          },
          "county": {
            "type": "string",
            "description": "The county of the bank."
          },
          "timezone": {
            "type": "string",
            "description": "The timezone of the bank."
          },
          "latitude": {
            "type": "string",
            "description": "The latitude of the bank."
          },
          "longitude": {
            "type": "string",
            "description": "The longitude of the bank."
          },
          "phone_number": {
            "type": "string",
            "description": "The phone number of the bank."
          },
          "ach_supported": {
            "type": "boolean",
            "description": "Whether the bank processes FedACH (Automated Clearing House) transactions for this routing number. Premium only. Omitted when unknown."
          },
          "fedwire_supported": {
            "type": "boolean",
            "description": "Whether the bank supports Fedwire (wire transfer) for this routing number. Premium only. Omitted when unknown."
          },
          "checksum_valid": {
            "type": "boolean",
            "description": "Whether the routing number passes ABA routing number checksum validation. Uses the standard Mod 10 checksum algorithm to verify the routing number is structurally valid."
          }
        }
      },
      "SalesTaxCalculatorResponse": {
        "type": "object",
        "properties": {
          "zip_code": {
            "type": "string",
            "description": "The ZIP code for which tax information is returned."
          },
          "state_rate": {
            "type": "number",
            "description": "State sales tax rate as a decimal."
          },
          "city_rate": {
            "type": "number",
            "description": "City sales tax rate as a decimal.",
            "nullable": true
          },
          "county_rate": {
            "type": "number",
            "description": "County sales tax rate as a decimal.",
            "nullable": true
          },
          "additional_rate": {
            "type": "number",
            "description": "Additional special district sales tax rate as a decimal.",
            "nullable": true
          },
          "total_rate": {
            "type": "number",
            "description": "Total combined sales tax rate of state, county, city, and additional rates as a decimal.",
            "nullable": true
          },
          "state_tax": {
            "type": "number",
            "description": "The calculated state sales tax amount."
          },
          "city_tax": {
            "type": "number",
            "description": "The calculated city sales tax amount.",
            "nullable": true
          },
          "county_tax": {
            "type": "number",
            "description": "The calculated county sales tax amount.",
            "nullable": true
          },
          "additional_tax": {
            "type": "number",
            "description": "The calculated additional special district sales tax amount.",
            "nullable": true
          },
          "total_tax": {
            "type": "number",
            "description": "The total calculated sales tax amount.",
            "nullable": true
          },
          "total_price": {
            "type": "number",
            "description": "The total amount including tax.",
            "nullable": true
          }
        }
      },
      "SalesTaxResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "zip_code": {
              "type": "string",
              "description": "The ZIP code for which tax information is returned."
            },
            "total_rate": {
              "type": "string",
              "description": "Total combined sales tax rate of state, county, city, and additional rates as a decimal."
            },
            "state_rate": {
              "type": "string",
              "description": "State sales tax rate as a decimal."
            },
            "city_rate": {
              "type": "string",
              "description": "City sales tax rate as a decimal."
            },
            "county_rate": {
              "type": "string",
              "description": "County sales tax rate as a decimal."
            },
            "additional_rate": {
              "type": "string",
              "description": "Additional special district sales tax rate as a decimal."
            }
          }
        }
      },
      "NexusRule": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "description": "Two-letter state code, or DC."
          },
          "state_name": {
            "type": "string",
            "description": "Full jurisdiction name."
          },
          "has_state_sales_tax": {
            "type": "boolean",
            "description": "False for Delaware, Montana, New Hampshire and Oregon. Alaska is false at the state level but still has a statewide remote-seller threshold administered for its local jurisdictions."
          },
          "economic_nexus": {
            "type": "boolean",
            "description": "Whether the jurisdiction imposes an economic nexus threshold at all."
          },
          "revenue_threshold": {
            "type": "integer",
            "nullable": true,
            "description": "Revenue threshold in US dollars, or null where none applies."
          },
          "transaction_threshold": {
            "type": "integer",
            "nullable": true,
            "description": "Separate-transaction threshold, or null. Only 18 jurisdictions still apply one."
          },
          "threshold_logic": {
            "type": "string",
            "nullable": true,
            "enum": [
              "or",
              "and",
              "revenue_only",
              null
            ],
            "description": "How the two tests combine. Only Connecticut and New York use 'and'."
          },
          "measure": {
            "type": "string",
            "description": "Which quantity the state measures, e.g. taxable_sales, retail_sales, gross_sales."
          },
          "measure_description": {
            "type": "string",
            "description": "Plain-language statement of exactly what counts toward the threshold."
          },
          "includes_marketplace_sales": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether marketplace-facilitated sales count toward the seller's own threshold."
          },
          "includes_exempt_sales": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether exempt sales count toward the threshold."
          },
          "includes_resale_sales": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether sales for resale count toward the threshold."
          },
          "evaluation_period": {
            "type": "string",
            "description": "Lookback period code, e.g. previous_calendar_year, rolling_12_months."
          },
          "evaluation_period_description": {
            "type": "string",
            "description": "Plain-language lookback period."
          },
          "collection_start_rule": {
            "type": "string",
            "description": "When registration and collection must begin after crossing."
          },
          "statute_cite": {
            "type": "string",
            "description": "Statutory or regulatory citation."
          },
          "source_url": {
            "type": "string",
            "description": "Primary Department of Revenue or statutory source."
          },
          "last_verified": {
            "type": "string",
            "format": "date",
            "description": "Date this row was last checked against its primary source."
          },
          "determination": {
            "type": "string",
            "enum": [
              "nexus",
              "no_nexus",
              "indeterminate"
            ],
            "description": "Only present when sales figures are supplied. 'indeterminate' means the inputs cannot prove the answer either way."
          },
          "has_nexus": {
            "type": "boolean",
            "nullable": true,
            "description": "True, false, or null when indeterminate. Only present when sales figures are supplied."
          },
          "reason": {
            "type": "string",
            "description": "Why this determination was reached."
          },
          "required_input": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Present only when indeterminate: the exact parameters that would settle the answer."
          },
          "revenue_remaining": {
            "type": "number",
            "description": "Headroom left before the revenue threshold, when the figure is exactly pinned."
          },
          "transactions_remaining": {
            "type": "integer",
            "description": "Headroom left before the transaction threshold, when the figure is exactly pinned."
          },
          "caveats": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Limits that apply regardless of inputs, always including that physical presence is not evaluated."
          }
        }
      },
      "NexusResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NexusRule"
            }
          },
          "summary": {
            "type": "object",
            "description": "Present only when sales figures are supplied. Groups the evaluated jurisdictions.",
            "properties": {
              "nexus": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "no_nexus": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "indeterminate": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SanctionsMatch": {
        "type": "object",
        "properties": {
          "confidence_score": {
            "type": "integer",
            "description": "Match confidence from 0 to 100.",
            "example": 98
          },
          "match_strength": {
            "type": "string",
            "enum": [
              "strong",
              "weak"
            ],
            "example": "strong"
          },
          "source_list": {
            "type": "string",
            "enum": [
              "OFAC_SDN",
              "EU_CFSP",
              "UN_SC",
              "UK_HMT",
              "AU_DFAT"
            ],
            "example": "OFAC_SDN"
          },
          "source_id": {
            "type": "string",
            "example": "26746"
          },
          "entity_type": {
            "type": "string",
            "enum": [
              "individual",
              "entity",
              "vessel",
              "aircraft"
            ],
            "example": "individual"
          },
          "primary_name": {
            "type": "string",
            "example": "PUTIN, Vladimir Vladimirovich"
          },
          "matched_alias": {
            "type": "string",
            "description": "The alias the query name matched against (may equal primary_name).",
            "example": "Vladimir Putin"
          },
          "alias_quality": {
            "type": "string",
            "enum": [
              "primary",
              "aka_strong",
              "aka_weak"
            ],
            "example": "primary"
          },
          "date_of_birth": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date"
            },
            "example": [
              "1952-10-07"
            ]
          },
          "place_of_birth": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Leningrad, Russia"
            ]
          },
          "nationalities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ISO 3166-1 alpha-2 country codes.",
            "example": [
              "RU"
            ]
          },
          "addresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "identifiers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Passport numbers, national IDs, IMO numbers, aircraft tail numbers.",
            "example": []
          },
          "sanction_programs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "UKRAINE-EO13661",
              "RUSSIA-EO14024"
            ]
          },
          "designation_date": {
            "type": "string",
            "format": "date",
            "example": "2022-02-25"
          },
          "last_modified": {
            "type": "integer",
            "description": "Unix timestamp (seconds since epoch) of the last upstream record modification.",
            "example": 1726099200
          },
          "source_url": {
            "type": "string",
            "example": "https://sanctionssearch.ofac.treas.gov/Details.aspx?id=26746"
          }
        }
      },
      "SanctionsScreenResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "Vladimir Putin"
              },
              "entity_type": {
                "type": "string",
                "nullable": true,
                "example": null
              },
              "country": {
                "type": "string",
                "nullable": true,
                "example": null
              },
              "dob": {
                "type": "string",
                "nullable": true,
                "example": null
              }
            }
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SanctionsMatch"
            }
          },
          "list_versions": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "date"
            },
            "description": "Per-source list-version dates active at screen time. Business tier and above.",
            "example": {
              "OFAC_SDN": "2026-05-13",
              "EU_CFSP": "2026-05-12",
              "UN_SC": "2026-05-08",
              "UK_HMT": "2026-05-13",
              "AU_DFAT": "2026-04-30"
            }
          },
          "stale_data_warning": {
            "type": "object",
            "nullable": true,
            "description": "Present when any source list is more than 7 days behind. Business tier and above.",
            "properties": {
              "stale_sources": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "screened_at": {
            "type": "integer",
            "description": "Unix timestamp (seconds since epoch) at which the screen was performed.",
            "example": 1779032521
          }
        }
      },
      "SanctionsScreeningOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "SECResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ticker": {
              "type": "string",
              "description": "Ticker symbol of the company."
            },
            "filing_date": {
              "type": "string",
              "format": "date",
              "description": "Date of the SEC filing in YYYY-MM-DD format."
            },
            "filing_url": {
              "type": "string",
              "format": "uri",
              "description": "URL of the SEC filing."
            },
            "form_type": {
              "type": "string",
              "description": "Type of SEC filing."
            }
          },
          "required": [
            "ticker",
            "filing_date",
            "filing_url",
            "form_type"
          ]
        }
      },
      "SentimentResponse": {
        "type": "object",
        "properties": {
          "score": {
            "type": "number",
            "format": "float",
            "description": "Sentiment analysis score from -1 to 1. 1 is the most positive, -1 is the most negative, and 0 is neutral."
          },
          "text": {
            "type": "string",
            "description": "Text that was analyzed."
          },
          "sentiment": {
            "type": "string",
            "description": "Overall sentiment of the text. Possible values are POSITIVE, WEAK_POSITIVE, NEGATIVE, WEAK_NEGATIVE, and NEUTRAL.",
            "enum": [
              "POSITIVE",
              "WEAK_POSITIVE",
              "NEGATIVE",
              "WEAK_NEGATIVE",
              "NEUTRAL"
            ]
          }
        }
      },
      "SentimentOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message detailing the cause of the error."
          }
        }
      },
      "ShortInterestRecord": {
        "type": "object",
        "properties": {
          "settlement_date": {
            "type": "string",
            "format": "date",
            "description": "The settlement date the position was measured on (the 15th or the last business day of a month)."
          },
          "shares_short": {
            "type": "integer",
            "description": "Shares sold short and not yet covered, as reported to FINRA."
          },
          "previous_shares_short": {
            "type": "integer",
            "description": "The prior settlement date's short position."
          },
          "change": {
            "type": "integer",
            "description": "Change in shares short since the prior settlement date."
          },
          "change_percent": {
            "type": "number",
            "description": "Percent change in shares short since the prior settlement date."
          },
          "average_daily_volume": {
            "type": "integer",
            "description": "Average daily trading volume used by FINRA to compute days to cover."
          },
          "days_to_cover": {
            "type": "number",
            "description": "Shares short divided by average daily volume, also called the short ratio. Null when average daily volume is zero and the ratio is undefined."
          },
          "shares_outstanding": {
            "type": "integer",
            "description": "Total shares outstanding from the company's SEC cover page (dei:EntityCommonStockSharesOutstanding), resolved to the value in effect at this settlement date."
          },
          "short_percent_outstanding": {
            "type": "number",
            "description": "Shares short as a percent of shares outstanding. Exact."
          },
          "float_shares": {
            "type": "integer",
            "description": "Estimated public float in shares, derived from the SEC's dollar public-float disclosure. Premium."
          },
          "short_percent_float": {
            "type": "number",
            "description": "Shares short as a percent of estimated public float. Estimated, not reported. Premium."
          },
          "float_estimated": {
            "type": "boolean",
            "description": "Always true. Public float is disclosed by the SEC as a dollar amount, so a share count is always derived."
          },
          "float_as_of": {
            "type": "string",
            "format": "date",
            "description": "The date the public float was measured by the filer. Premium."
          },
          "float_price_gap_days": {
            "type": "integer",
            "description": "Days between the float measurement date and the price used to convert dollars to shares. 0 is an exact-date conversion; larger values are less precise. Premium."
          },
          "float_is_capped": {
            "type": "boolean",
            "description": "True when the derived float exceeded shares outstanding and was clamped to it. On these rows short_percent_float is a floor, not a measurement. Premium."
          },
          "shares_outstanding_as_of": {
            "type": "string",
            "format": "date",
            "description": "The cover-page date of the share count used."
          },
          "close_price": {
            "type": "number",
            "description": "Price near the settlement date, from SEC fails-to-deliver filings. Premium."
          },
          "price_date": {
            "type": "string",
            "format": "date",
            "description": "The date of the price used. Premium."
          },
          "price_source": {
            "type": "string",
            "description": "Source of the price. Currently sec_ftd. Premium."
          },
          "dollar_volume_short": {
            "type": "integer",
            "description": "Notional value of the short position in US dollars (shares short times price). Premium."
          },
          "percentile_2y": {
            "type": "number",
            "description": "Where this reading sits in the stock's own trailing two-year range, 0-100. Answers whether a given percentage is high for this particular stock. Premium."
          },
          "shares_short_split_adjusted": {
            "type": "integer",
            "description": "Shares short rescaled onto today's share basis so multi-year history remains comparable across stock splits. Premium."
          },
          "is_revision": {
            "type": "boolean",
            "description": "True when FINRA restated this settlement date after initial publication."
          },
          "had_split": {
            "type": "boolean",
            "description": "True when FINRA flagged a stock split affecting this record."
          }
        }
      },
      "SortCodeOpenapi_BranchInfo": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the bank. Premium only."
          },
          "sort_code": {
            "type": "string",
            "description": "The 6-digit sort code, hyphenated."
          },
          "branch_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the branch. Premium only."
          },
          "street_address": {
            "type": "string",
            "nullable": true,
            "description": "The street address of the branch. Premium only."
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "The city of the branch."
          },
          "postcode": {
            "type": "string",
            "nullable": true,
            "description": "The UK postcode of the branch."
          },
          "country": {
            "type": "string",
            "description": "Always GB."
          },
          "phone_number": {
            "type": "string",
            "nullable": true,
            "description": "The customer service phone number of the bank. Premium only."
          },
          "bacs_supported": {
            "type": "boolean",
            "description": "Whether the branch supports Bacs Direct Debit and Direct Credit payments. Premium only."
          },
          "chaps_supported": {
            "type": "boolean",
            "description": "Whether the branch supports CHAPS same-day wire transfers. Premium only."
          },
          "faster_payments_supported": {
            "type": "boolean",
            "description": "Whether the branch supports Faster Payments. Premium only."
          },
          "swift_code": {
            "type": "string",
            "nullable": true,
            "description": "The SWIFT/BIC code of the bank, useful for international wire transfers. May be null if the bank does not participate in SWIFT. Premium only."
          },
          "checksum_valid": {
            "type": "boolean",
            "description": "Whether the sort code passes the modulus check defined by the published Vocalink validation rules."
          }
        }
      },
      "SpellCheckResponse": {
        "type": "object",
        "properties": {
          "original": {
            "type": "string",
            "description": "The original text input."
          },
          "corrected": {
            "type": "string",
            "description": "The corrected text."
          },
          "corrections": {
            "type": "array",
            "description": "An array of corrections for the original text.",
            "items": {
              "type": "object",
              "properties": {
                "word": {
                  "type": "string",
                  "description": "The word that was corrected."
                },
                "index": {
                  "type": "integer",
                  "description": "The index of the word in the original text."
                },
                "correction": {
                  "type": "string",
                  "description": "The corrected word."
                },
                "candidates": {
                  "type": "array",
                  "description": "An array of possible corrections for the word.",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "word",
                "index",
                "correction",
                "candidates"
              ]
            }
          }
        },
        "required": [
          "original",
          "corrected",
          "corrections"
        ]
      },
      "Star": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the star."
          },
          "constellation": {
            "type": "string",
            "description": "The constellation that the star belongs to."
          },
          "right_ascension": {
            "type": "string",
            "description": "The right ascension of the star."
          },
          "declination": {
            "type": "string",
            "description": "The declination of the star."
          },
          "apparent_magnitude": {
            "type": "string",
            "description": "The apparent magnitude brightness of the star."
          },
          "absolute_magnitude": {
            "type": "string",
            "description": "The absolute magnitude brightness of the star."
          },
          "distance_light_year": {
            "type": "string",
            "description": "The distance the star is from Earth in light years."
          },
          "spectral_class": {
            "type": "string",
            "description": "The spectral class of the star."
          }
        }
      },
      "StockExchange": {
        "type": "object",
        "properties": {
          "mic": {
            "type": "string",
            "description": "Market Identifier Code (e.g., XNYS)."
          },
          "name": {
            "type": "string",
            "description": "Stock exchange name."
          },
          "city": {
            "type": "string",
            "description": "City where the exchange is located."
          },
          "country": {
            "type": "string",
            "description": "Country code in ISO2 format (e.g., US)."
          },
          "iso2": {
            "type": "string",
            "description": "ISO2 country code."
          },
          "description": {
            "type": "string",
            "description": "Description of the stock exchange."
          },
          "address": {
            "type": "string",
            "description": "Physical address of the stock exchange."
          },
          "website": {
            "type": "string",
            "description": "Official website of the stock exchange.",
            "format": "uri"
          },
          "founded": {
            "type": "string",
            "description": "Date of establishment in YYYY-MM-DD format.",
            "format": "date"
          },
          "num_listings": {
            "type": "integer",
            "description": "Number of listings on the stock exchange."
          },
          "market_cap_usd": {
            "type": "number",
            "description": "Market capitalization in USD."
          },
          "currency": {
            "type": "string",
            "description": "Currency used for market capitalization."
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the stock exchange."
          },
          "market_open": {
            "type": "string",
            "description": "Opening time of the stock exchange. Business and Professional tier only."
          },
          "market_close": {
            "type": "string",
            "description": "Closing time of the stock exchange. Business and Professional tier only."
          },
          "is_market_open": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the exchange is currently open for trading. Business and Professional tier only."
          },
          "closed_reason": {
            "type": "string",
            "nullable": true,
            "description": "Reason the exchange is closed (e.g., Weekend, Holiday - Christmas Day, Early Close - Day After Thanksgiving, Outside Regular Trading Hours). Null if the exchange is currently open. Business and Professional tier only."
          }
        }
      },
      "ExchangeStatus": {
        "type": "object",
        "properties": {
          "mic": {
            "type": "string",
            "description": "Market Identifier Code."
          },
          "name": {
            "type": "string",
            "description": "Stock exchange name."
          },
          "is_open": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the exchange is open. When using date, indicates if the exchange trades at all that day. When using timestamp, indicates if the exchange is open at that exact moment."
          },
          "closed_reason": {
            "type": "string",
            "nullable": true,
            "description": "Reason the exchange is closed (e.g., Weekend, Holiday - Christmas Day, Early Close - Day After Thanksgiving, Outside Regular Trading Hours). Null if the exchange is open."
          },
          "market_open": {
            "type": "string",
            "description": "Opening time of the exchange on that date."
          },
          "market_close": {
            "type": "string",
            "description": "Closing time of the exchange on that date. Adjusted for early closures on holidays."
          },
          "holiday": {
            "type": "string",
            "description": "Name of the holiday, if the date falls on one. Only present on holiday dates."
          }
        }
      },
      "ExchangeHolidays": {
        "type": "object",
        "properties": {
          "mic": {
            "type": "string",
            "description": "Market Identifier Code."
          },
          "name": {
            "type": "string",
            "description": "Stock exchange name."
          },
          "country": {
            "type": "string",
            "description": "Country of the exchange."
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the exchange."
          },
          "holidays": {
            "type": "array",
            "description": "Array of holiday objects for the exchange.",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "description": "Holiday date in yyyy-mm-dd format."
                },
                "name": {
                  "type": "string",
                  "description": "Holiday name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "full_close",
                    "early_close"
                  ],
                  "description": "Type of closure: full_close or early_close."
                },
                "confirmed": {
                  "type": "boolean",
                  "description": "Whether the holiday date has been officially confirmed."
                },
                "early_close_time": {
                  "type": "string",
                  "description": "Local closing time for early close days. Only present when type is early_close."
                }
              }
            }
          }
        }
      },
      "StockNewsItem": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Headline of the article."
          },
          "url": {
            "type": "string",
            "description": "Canonical URL of the article."
          },
          "source": {
            "type": "string",
            "description": "Canonical publisher slug (e.g., cnbc, benzinga, marketwatch)."
          },
          "published": {
            "type": "integer",
            "description": "Unix timestamp (seconds since epoch) of when the article was published."
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ticker symbols associated with the article."
          },
          "author": {
            "type": "string",
            "nullable": true,
            "description": "Article author, if available."
          }
        }
      },
      "StockNewsOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "StockPriceResponse": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Stock or index ticker symbol."
          },
          "name": {
            "type": "string",
            "description": "Name of the company or index. Available on every plan. Null if the provider has no metadata for the symbol.",
            "nullable": true
          },
          "price": {
            "type": "number",
            "description": "Latest price. On paid plans this is the live price during market hours. On the free plan it is the closing price of the most recent COMPLETED trading session."
          },
          "exchange": {
            "type": "string",
            "description": "Exchange where the stock is listed. Available on every plan. Null if the provider has no metadata for the symbol.",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "description": "Unix timestamp of the moment the price was struck: the provider's last quote update on paid plans, or the 16:00 ET close of the session the price belongs to on the free plan. This is NOT the time the request was served -- a price that has not moved keeps the same `updated` value."
          },
          "currency": {
            "type": "string",
            "description": "Currency in which the price is denominated. Available on every plan. Empty when the listing exchange is unrecognised."
          },
          "volume": {
            "type": "integer",
            "description": "The trading volume (number of shares traded)."
          },
          "previous_close": {
            "type": "number",
            "nullable": true,
            "description": "Closing price of the session immediately before the one `price` belongs to. Null when only one session is on record."
          },
          "change": {
            "type": "number",
            "nullable": true,
            "description": "Price change from `previous_close` to `price`, in the quote currency. Null when `previous_close` is unavailable."
          }
        }
      },
      "StockListItem": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "The stock ticker symbol."
          },
          "name": {
            "type": "string",
            "description": "The full company name."
          }
        }
      },
      "StockPriceOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "StockSplit": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Company ticker symbol, including the exchange suffix for international listings.",
            "example": "GOOG"
          },
          "name": {
            "type": "string",
            "description": "Company name.",
            "example": "Alphabet Inc."
          },
          "short_name": {
            "type": "string",
            "description": "Company name with the trailing legal form (Inc., Ltd., Corp., etc.) removed.",
            "example": "Alphabet"
          },
          "exchange": {
            "type": "string",
            "description": "Exchange code for the listing (e.g. US, JPX, HKSE, LSE, or NSE).",
            "example": "NASDAQ"
          },
          "date": {
            "type": "string",
            "description": "Effective (ex-) date of the split (YYYY-MM-DD).",
            "example": "2022-07-18"
          },
          "numerator": {
            "type": "number",
            "description": "Shares held after the split (the 4 in a 4-for-1 split).",
            "example": 20
          },
          "denominator": {
            "type": "number",
            "description": "Shares held before the split (the 1 in a 4-for-1 split).",
            "example": 1
          },
          "ratio": {
            "type": "string",
            "description": "Human-readable split ratio, e.g. 4:1 or 1:10.",
            "example": "20:1"
          },
          "split_factor": {
            "type": "number",
            "description": "Numeric multiplier (numerator / denominator) - e.g. 4 for a 4-for-1 split, 0.1 for a 1-for-10 reverse split. Use it to back-adjust historical prices and share counts.",
            "example": 20
          },
          "split_type": {
            "type": "string",
            "description": "forward when numerator >= denominator; reverse for a consolidation.",
            "example": "forward"
          },
          "currency": {
            "type": "string",
            "description": "Trading currency of the listing (e.g. USD, JPY, HKD).",
            "example": "USD"
          }
        }
      },
      "Puzzle": {
        "type": "array",
        "items": {
          "type": "array",
          "items": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 9
          }
        }
      },
      "Solution": {
        "type": "array",
        "items": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9
          }
        }
      },
      "SudokuResponse": {
        "type": "object",
        "properties": {
          "puzzle": {
            "$ref": "#/components/schemas/Puzzle"
          },
          "solution": {
            "$ref": "#/components/schemas/Solution"
          }
        }
      },
      "SolveResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "solved"
            ]
          },
          "solution": {
            "$ref": "#/components/schemas/Solution"
          }
        }
      },
      "SwiftCodeOpenapi_BankInfo": {
        "type": "object",
        "properties": {
          "swift_code": {
            "type": "string",
            "description": "The SWIFT/BIC code for the bank branch."
          },
          "bank_name": {
            "type": "string",
            "nullable": true,
            "description": "The full official name of the bank. Premium only."
          },
          "address": {
            "type": "string",
            "nullable": true,
            "description": "The full street address of the bank branch. Premium only."
          },
          "city": {
            "type": "string",
            "nullable": true,
            "description": "The city where the bank branch is located. Premium only."
          },
          "region": {
            "type": "string",
            "nullable": true,
            "description": "The region where the bank branch is located. For US banks this is the full state name (e.g. New York). Premium only."
          },
          "postal_code": {
            "type": "string",
            "nullable": true,
            "description": "The postal or ZIP code of the bank branch location. Premium only."
          },
          "country": {
            "type": "string",
            "description": "The full name of the country where the bank is located."
          },
          "country_code": {
            "type": "string",
            "description": "The ISO 3166 2-letter country code."
          },
          "is_eu": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is an EU member state. Null when the country is unknown."
          },
          "is_eea": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the European Economic Area (the EU plus Iceland, Liechtenstein and Norway)."
          },
          "is_sepa": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the country is in the Single Euro Payments Area. SEPA is wider than the EU or the EEA: it also includes Switzerland, the United Kingdom, Monaco, San Marino, Andorra and Vatican City."
          }
        }
      },
      "SwiftCodeOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing the problem."
          }
        }
      },
      "LanguageDetectionResponse": {
        "type": "object",
        "properties": {
          "iso": {
            "type": "string",
            "description": "2-letter ISO language code."
          },
          "language": {
            "type": "string",
            "description": "The full name of the detected language."
          }
        }
      },
      "TextLanguageOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          }
        }
      },
      "TextSimilarityRequest": {
        "type": "object",
        "properties": {
          "text_1": {
            "type": "string",
            "description": "First input text. Maximum 5000 characters.",
            "maxLength": 5000
          },
          "text_2": {
            "type": "string",
            "description": "Second input text. Maximum 5000 characters.",
            "maxLength": 5000
          }
        },
        "required": [
          "text_1",
          "text_2"
        ]
      },
      "TextSimilarityResponse": {
        "type": "object",
        "properties": {
          "similarity": {
            "type": "number",
            "format": "float",
            "description": "A similarity score between 0 and 1 where 1 is similar and 0 is dissimilar."
          }
        }
      },
      "TextSimilarityOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "ThesaurusResponse": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "example": "elegant"
          },
          "synonyms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "graceful",
              "handsome",
              "fine"
            ]
          },
          "antonyms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "inelegant",
              "unfashionable",
              "tasteless"
            ]
          }
        }
      },
      "TickerResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Apple Inc."
          },
          "ticker": {
            "type": "string",
            "example": "AAPL"
          },
          "logo_url": {
            "type": "string",
            "nullable": true,
            "example": "https://media.api-ninjas.com/ticker_logos/AAPL_7c799a12f38f.png",
            "description": "URL of the company's logo as a PNG, or null when no logo is available for this company. A non-null value is always a working image. Premium only."
          },
          "chief_executive_officer": {
            "type": "string",
            "example": "Timothy D. Cook"
          },
          "address": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "example": "One Apple Park Way"
              },
              "city": {
                "type": "string",
                "example": "Cupertino"
              },
              "state": {
                "type": "string",
                "example": "CA"
              },
              "zip": {
                "type": "string",
                "example": "95014"
              }
            }
          },
          "latest_price": {
            "type": "number",
            "nullable": true,
            "example": 269.05,
            "description": "Latest stock price. Premium only."
          },
          "latest_market_cap": {
            "type": "number",
            "nullable": true,
            "example": 3992809620000,
            "description": "Latest market capitalization. Premium only."
          },
          "latest_dividend": {
            "type": "number",
            "nullable": true,
            "example": 1.02,
            "description": "Latest dividend payment. Premium only."
          },
          "cik": {
            "type": "string",
            "example": "0000320193"
          },
          "cusip": {
            "type": "string",
            "example": "037833100"
          },
          "isin": {
            "type": "string",
            "example": "US0378331005"
          },
          "exchange": {
            "type": "string",
            "example": "NASDAQ"
          },
          "website": {
            "type": "string",
            "example": "https://www.apple.com"
          },
          "phone_number": {
            "type": "string",
            "example": "(408) 996-1010"
          },
          "ipo_date": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "example": "1980-12-12",
            "description": "Initial public offering date in YYYY-MM-DD format. Premium only."
          },
          "latest_earnings": {
            "type": "object",
            "properties": {
              "year": {
                "type": "integer",
                "example": 2025
              },
              "quarter": {
                "type": "integer",
                "example": 4
              }
            }
          },
          "sector": {
            "type": "string",
            "nullable": true,
            "example": "Technology",
            "description": "Company sector in the API Ninjas classification (e.g. Technology, Financials, Health Care). Available for all companies. Premium only."
          },
          "industry": {
            "type": "string",
            "nullable": true,
            "example": "Computer Hardware",
            "description": "Company industry (sub-sector) within its sector (e.g. Semiconductors, Banks, Airlines). Available for all companies. Premium only."
          },
          "sic_code": {
            "type": "string",
            "nullable": true,
            "example": "3571",
            "description": "Standard Industrial Classification (SIC) code from the company's SEC filing. US-listed companies only (null for non-US). Premium only."
          },
          "sic_description": {
            "type": "string",
            "nullable": true,
            "example": "Electronic Computers",
            "description": "Human-readable description of the SIC code. US-listed companies only (null for non-US). Premium only."
          }
        }
      },
      "TickerSearchResult": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "example": "AAPL"
          },
          "company_name": {
            "type": "string",
            "example": "Apple Inc."
          },
          "exchange": {
            "type": "string",
            "example": "NASDAQ"
          },
          "logo_url": {
            "type": "string",
            "nullable": true,
            "example": "https://media.api-ninjas.com/ticker_logos/AAPL_7c799a12f38f.png",
            "description": "URL of the company's logo as a PNG, or null when no logo is available for this company."
          }
        }
      },
      "TickerOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "TimezoneResponse": {
        "type": "object",
        "properties": {
          "timezone": {
            "type": "string",
            "description": "Timezone name."
          },
          "utc_offset": {
            "type": "integer",
            "description": "Time offset in seconds from GMT."
          },
          "local_time": {
            "type": "string",
            "description": "Local time in the specified timezone."
          },
          "city": {
            "type": "string",
            "description": "City name. Only available for lat/lon or city/state/country inputs."
          }
        }
      },
      "TimezoneOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "TreasuryYieldResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "example": "2026-08-10"
          },
          "type": {
            "type": "string",
            "example": "par"
          },
          "rates": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "nullable": true
            },
            "example": {
              "year_2": 4.25,
              "year_10": 4.72,
              "year_30": 5.25
            }
          },
          "spread_2y10y": {
            "type": "number",
            "example": 0.47
          },
          "spread_3m10y": {
            "type": "number",
            "example": 0.83
          },
          "spread_5y30y": {
            "type": "number",
            "example": 0.84
          },
          "curve_inverted": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "TreasuryYieldHistoricalResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "par"
          },
          "maturity": {
            "type": "string",
            "example": "year_10"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "example": "2026-08-10"
                },
                "rate_pct": {
                  "type": "number",
                  "example": 4.72
                }
              }
            }
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "TriviaResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "category": {
              "type": "string",
              "example": "music"
            },
            "question": {
              "type": "string",
              "example": "Who Was The Midnight Rider"
            },
            "answer": {
              "type": "string",
              "example": "Paul Davidson"
            }
          }
        }
      },
      "TriviaOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        }
      },
      "UnemploymentResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "country": {
              "type": "string",
              "example": "CAN"
            },
            "year": {
              "type": "integer",
              "example": 1980
            },
            "unemployment_rate": {
              "type": "number",
              "example": 7.5
            }
          }
        }
      },
      "UnemploymentOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        }
      },
      "UnitConversionResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The measurement type (e.g., length, volume, temperature, etc.)."
          },
          "unit": {
            "type": "string",
            "description": "The source unit that was converted from."
          },
          "amount": {
            "type": "number",
            "description": "The original amount to convert."
          },
          "conversions": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            },
            "description": "An object containing all the converted values for each unit of the same measurement type."
          }
        },
        "required": [
          "type",
          "unit",
          "amount",
          "conversions"
        ]
      },
      "University": {
        "type": "object",
        "description": "An institution of higher learning. Not all fields are present for every record; fields are only included when data is available. Fields noted as US-only come from the U.S. Department of Education.",
        "properties": {
          "name": {
            "type": "string",
            "example": "Harvard University",
            "description": "The full name of the institution, in English where available."
          },
          "degree_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Associate's degree",
              "Bachelor's degree",
              "Postbaccalaureate certificate",
              "Master's degree",
              "Post-master's certificate",
              "Doctor's degree - research/scholarship"
            ],
            "description": "Degree types offered. US institutions only."
          },
          "address": {
            "type": "string",
            "example": "Massachusetts Hall",
            "description": "The street address of the institution."
          },
          "city": {
            "type": "string",
            "example": "Cambridge",
            "description": "The city where the institution is located."
          },
          "state": {
            "type": "string",
            "example": "MA",
            "description": "State, province or region: a code for US and Canadian institutions (e.g., MA), the name elsewhere (e.g., Bavaria)."
          },
          "postal_code": {
            "type": "string",
            "example": "02138",
            "description": "The postal/zip code of the institution."
          },
          "country": {
            "type": "string",
            "example": "USA",
            "description": "USA for the US and its territories, CANADA for Canada, and the English country name elsewhere (e.g., Germany)."
          },
          "county": {
            "type": "string",
            "example": "Middlesex",
            "description": "The county where the institution is located. US institutions only."
          },
          "timezone": {
            "type": "string",
            "example": "EST",
            "description": "Timezone abbreviation for US and Canadian institutions. See timezone_iana for all institutions."
          },
          "latitude": {
            "type": "string",
            "example": "42.374471",
            "description": "Latitude of the institution, as a string."
          },
          "longitude": {
            "type": "string",
            "example": "-71.118313",
            "description": "Longitude of the institution, as a string."
          },
          "phone": {
            "type": "string",
            "example": "(617) 495-1000",
            "description": "Contact phone number."
          },
          "email": {
            "type": "string",
            "example": "info@scbt.ca",
            "description": "Contact email address. Only returned for some records."
          },
          "website": {
            "type": "string",
            "example": "https://www.harvard.edu/",
            "description": "The official website URL."
          },
          "institution_type": {
            "type": "string",
            "example": "Private (Not For Profit)",
            "description": "Public, Private (Not For Profit) or Private (For Profit). Canadian institutions show a category such as University, College or Career College."
          },
          "years": {
            "type": "string",
            "example": "4 Years",
            "description": "4 Years, 2 Years or Under 2 Years. US institutions only."
          },
          "enrollment": {
            "type": "string",
            "example": "30259",
            "description": "Number of enrolled students, as a string. See enrollment_year."
          },
          "student_faculty_ratio": {
            "type": "string",
            "example": "7 to 1",
            "description": "Student-to-faculty ratio. US institutions only."
          },
          "tuition": {
            "type": "number",
            "example": 61676,
            "description": "Published in-state tuition and fees for the latest academic year, in USD. US institutions only."
          },
          "id": {
            "type": "integer",
            "example": 9157,
            "description": "Unique API Ninjas institution ID. Stays the same across data updates; pass it as the id parameter to fetch the institution again."
          },
          "country_code": {
            "type": "string",
            "example": "US",
            "description": "ISO 3166-1 two-letter country code."
          },
          "region_code": {
            "type": "string",
            "example": "MA",
            "description": "ISO 3166-2 code of the state, province or region, without the country prefix."
          },
          "native_name": {
            "type": "string",
            "example": "Technische Universität München",
            "description": "The name in the local language, when it differs from name."
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Harvard U.",
              "Harvard Univ.",
              "University of Harvard"
            ],
            "description": "Other names: official and translated names, former names and common short forms."
          },
          "acronym": {
            "type": "string",
            "example": "TUM",
            "description": "The common acronym."
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "harvard.edu"
            ],
            "description": "Web and email domains used by the institution."
          },
          "founded": {
            "type": "integer",
            "example": 1636,
            "description": "The year the institution was founded."
          },
          "level": {
            "type": "string",
            "enum": [
              "university",
              "college",
              "polytechnic",
              "community_college",
              "vocational",
              "specialized"
            ],
            "example": "university",
            "description": "The type of institution."
          },
          "control": {
            "type": "string",
            "enum": [
              "public",
              "private_nonprofit",
              "private_forprofit",
              "private"
            ],
            "example": "private_nonprofit",
            "description": "Ownership. private means private with unknown profit status."
          },
          "recognition": {
            "type": "string",
            "enum": [
              "recognized"
            ],
            "example": "recognized",
            "description": "recognized when the institution is listed by a national education registry (e.g., IPEDS in the US, AISHE in India); omitted otherwise."
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "closed"
            ],
            "example": "active",
            "description": "closed for institutions that have stopped operating or merged into another institution."
          },
          "parent_id": {
            "type": "integer",
            "example": 9157,
            "description": "The id of the parent institution, for branch campuses and constituent or affiliated colleges."
          },
          "timezone_iana": {
            "type": "string",
            "example": "America/New_York",
            "description": "The IANA timezone of the institution."
          },
          "enrollment_year": {
            "type": "integer",
            "example": 2024,
            "description": "The year the enrollment figure refers to."
          },
          "tuition_in_state": {
            "type": "integer",
            "example": 61676,
            "description": "Published in-state tuition and fees for the latest academic year, in USD. US institutions only."
          },
          "tuition_out_of_state": {
            "type": "integer",
            "example": 61676,
            "description": "Published out-of-state tuition and fees for the latest academic year, in USD. US institutions only."
          },
          "ror_id": {
            "type": "string",
            "example": "03vek6s52",
            "description": "Research Organization Registry ID."
          },
          "wikidata_id": {
            "type": "string",
            "example": "Q13371",
            "description": "Wikidata item ID."
          },
          "research_output": {
            "type": "integer",
            "example": 1113844,
            "description": "Number of scholarly works affiliated with the institution, from OpenAlex."
          }
        }
      },
      "UniversityOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "UrlLookupResponse": {
        "type": "object",
        "properties": {
          "is_valid": {
            "type": "boolean",
            "description": "Indicates if the URL is valid."
          },
          "country": {
            "type": "string",
            "description": "The country where the URL's server is located."
          },
          "country_code": {
            "type": "string",
            "description": "The ISO country code for the country."
          },
          "region_code": {
            "type": "string",
            "description": "The region code within the country."
          },
          "region": {
            "type": "string",
            "description": "The region within the country."
          },
          "city": {
            "type": "string",
            "description": "The city where the URL's server is located."
          },
          "zip": {
            "type": "string",
            "description": "The postal code for the location."
          },
          "lat": {
            "type": "number",
            "format": "float",
            "description": "Latitude of the location."
          },
          "lon": {
            "type": "number",
            "format": "float",
            "description": "Longitude of the location."
          },
          "timezone": {
            "type": "string",
            "description": "The timezone of the location."
          },
          "isp": {
            "type": "string",
            "description": "The Internet Service Provider hosting the URL."
          },
          "url": {
            "type": "string",
            "description": "The URL that was looked up."
          }
        }
      },
      "UrlLookupOpenapi_Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the issue."
          },
          "code": {
            "type": "integer",
            "description": "HTTP status code."
          }
        }
      },
      "UserAgentParseResponse": {
        "type": "object",
        "description": "Parse response with top-level fields. The browser/OS/device fields are populated whenever the string could be parsed, whether or not it validates. invalid_reason is always present (empty when valid); warnings lists non-fatal anomalies.",
        "properties": {
          "browser_family": {
            "type": "string",
            "nullable": true,
            "description": "Browser name (e.g. Chrome, Safari)."
          },
          "browser_version": {
            "type": "string",
            "nullable": true,
            "description": "Browser version string."
          },
          "os_family": {
            "type": "string",
            "nullable": true,
            "description": "Operating system family (e.g. Windows, Mac OS X, iOS)."
          },
          "os_version": {
            "type": "string",
            "nullable": true,
            "description": "OS version string."
          },
          "device_family": {
            "type": "string",
            "nullable": true,
            "description": "Device family (e.g. Other, iPhone, Samsung SM-G991B)."
          },
          "device_brand": {
            "type": "string",
            "nullable": true,
            "description": "Device brand when available."
          },
          "device_model": {
            "type": "string",
            "nullable": true,
            "description": "Device model when available."
          },
          "device_type": {
            "type": "string",
            "nullable": true,
            "enum": [
              "computer",
              "tablet",
              "mobile"
            ],
            "description": "High-level device type."
          },
          "is_valid": {
            "type": "boolean",
            "description": "True if the user agent passed validation; false for invalid/unrecognized UAs."
          },
          "invalid_reason": {
            "type": "string",
            "description": "Always present. Empty string when valid; when is_valid is false, explains why the user agent was rejected."
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Non-fatal anomalies that did not invalidate the string, such as a browser version newer than the most recent release we know of, or an unusual token combination. Always present; empty when nothing was flagged."
          }
        },
        "required": [
          "is_valid",
          "invalid_reason",
          "warnings"
        ]
      },
      "UserAgentGenerateResponse": {
        "type": "object",
        "properties": {
          "user_agent": {
            "type": "string"
          }
        }
      },
      "ValidateEmailResponse": {
        "type": "object",
        "properties": {
          "is_valid": {
            "type": "boolean",
            "description": "Whether the email address is valid."
          },
          "domain": {
            "type": "string",
            "description": "Domain of the email address."
          },
          "email": {
            "type": "string",
            "description": "Email address."
          },
          "local_part": {
            "type": "string",
            "description": "The local part of the email address (the portion before the @)."
          },
          "is_disposable": {
            "type": "boolean",
            "description": "Whether the email address is disposable. We maintain a large database of hundreds of thousands of disposable domains and check against it for every email address."
          },
          "is_public": {
            "type": "boolean",
            "description": "Whether the email address comes from a public email domain like Gmail or Yahoo Mail. We match the email domain against our constantly-updated database of millions of known public email providers."
          },
          "main_category": {
            "type": "string",
            "description": "The main category (L1) of the email role based on its local part (prefix). Possible values include: technical_operations, customer_engagement, automated_transactional, corporate_functions, etc."
          },
          "sub_category": {
            "type": "string",
            "description": "The sub-category (L2) of the email role based on its local part (prefix). Possible values include: smtp_mail_administration, general_inquiries, noreply_unmonitored, etc."
          }
        }
      },
      "ValidateEmailOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "ValidatePhoneResponse": {
        "type": "object",
        "properties": {
          "is_valid": {
            "type": "boolean",
            "description": "Indicates if the phone number is valid."
          },
          "is_formatted_properly": {
            "type": "boolean",
            "description": "Indicates if the phone number is formatted properly."
          },
          "country": {
            "type": "string",
            "description": "The country where the phone number is registered."
          },
          "location": {
            "type": "string",
            "description": "The specific location within the country."
          },
          "timezones": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of timezones applicable to the phone number."
          },
          "format_national": {
            "type": "string",
            "description": "The phone number formatted in national style."
          },
          "format_international": {
            "type": "string",
            "description": "The phone number formatted in international style."
          },
          "format_e164": {
            "type": "string",
            "description": "The phone number formatted according to E164 standard."
          },
          "country_code": {
            "type": "integer",
            "description": "The international country code of the phone number."
          },
          "line_type": {
            "type": "string",
            "description": "Line type of the number: mobile, landline, voip, toll_free, fixed_line_or_mobile, premium_rate, shared_cost, personal_number, pager, uan, voicemail, or unknown."
          },
          "is_mobile": {
            "type": "boolean",
            "description": "Whether the number is a mobile (or fixed-line-or-mobile) number."
          },
          "format_rfc3966": {
            "type": "string",
            "description": "The phone number formatted as an RFC3966 tel: URI."
          },
          "is_possible": {
            "type": "boolean",
            "description": "Whether the number is a possible number (valid length/pattern), even if not confirmed valid."
          }
        }
      },
      "ValidatePhoneOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "VATRate": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Two-letter country code (ISO 3166-1 alpha-2)."
          },
          "type": {
            "type": "string",
            "description": "VAT rate type.",
            "enum": [
              "standard",
              "reduced",
              "super_reduced",
              "exempted",
              "parking"
            ]
          },
          "rate": {
            "type": "number",
            "description": "The VAT rate."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date when the rate is applicable."
          },
          "category": {
            "type": "string",
            "description": "Category of goods or services the rate applies to."
          }
        },
        "required": [
          "country",
          "type",
          "rate",
          "date"
        ]
      },
      "VATValidationResult": {
        "type": "object",
        "properties": {
          "vat": {
            "type": "string",
            "description": "The normalized VAT number including country prefix, e.g. FR40303265045."
          },
          "country": {
            "type": "string",
            "description": "Two-letter registry country code. Greece is EL; Northern Ireland is XI."
          },
          "number": {
            "type": "string",
            "description": "The national part of the VAT number (no country prefix)."
          },
          "format_valid": {
            "type": "boolean",
            "description": "Whether the number matches the country's VAT number format."
          },
          "checksum_valid": {
            "type": "boolean",
            "description": "Whether the number passes the country's checksum algorithm."
          },
          "status": {
            "type": "string",
            "description": "Validation verdict. 'valid' = registered for VAT; 'invalid' = failed format/checksum or confirmed not registered; 'unknown' = well-formed but the registry is temporarily unreachable and no cached answer exists (the number is re-checked automatically in the background).",
            "enum": [
              "valid",
              "invalid",
              "unknown"
            ]
          },
          "source": {
            "type": "string",
            "description": "Where the answer came from: 'vies' (the official EU registry) or 'seed' (national open-registry snapshot). Null for offline format/checksum verdicts.",
            "nullable": true
          },
          "cached": {
            "type": "boolean",
            "description": "True when the answer was served from the validation cache rather than a live registry check."
          },
          "checked_at": {
            "type": "string",
            "description": "UTC timestamp of the registry answer (ISO 8601). For cached results, the time the number was last confirmed.",
            "nullable": true
          },
          "company_name": {
            "type": "string",
            "description": "Registered company name (premium only). Null for German and Spanish numbers — those registries suppress it.",
            "nullable": true
          },
          "company_address": {
            "type": "string",
            "description": "Registered company address (premium only). Null for German and Spanish numbers — those registries suppress it.",
            "nullable": true
          },
          "consultation_number": {
            "type": "string",
            "description": "Official EU consultation number proving this check — audit evidence for zero-rating intra-EU B2B sales (premium only). Returned only on live checks when requester_vat is supplied.",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Optional human-readable note, e.g. registry downtime or name/address suppression."
          }
        },
        "required": [
          "vat",
          "country",
          "number",
          "format_valid",
          "checksum_valid",
          "status",
          "cached"
        ]
      },
      "WeatherResponse": {
        "type": "object",
        "properties": {
          "wind_speed": {
            "type": "number",
            "description": "Wind speed in meters per second."
          },
          "wind_degrees": {
            "type": "integer",
            "description": "Wind direction in degrees."
          },
          "temp": {
            "type": "integer",
            "description": "Current temperature in Celsius."
          },
          "humidity": {
            "type": "integer",
            "description": "Current humidity percentage."
          },
          "cloud_pct": {
            "type": "integer",
            "description": "Cloud cover percentage."
          },
          "sunset": {
            "type": "integer",
            "description": "Sunset time in Unix timestamp."
          },
          "min_temp": {
            "type": "integer",
            "description": "Minimum temperature in Celsius."
          },
          "max_temp": {
            "type": "integer",
            "description": "Maximum temperature in Celsius."
          },
          "feels_like": {
            "type": "integer",
            "description": "What the temperature feels like in Celsius."
          },
          "sunrise": {
            "type": "integer",
            "description": "Sunrise time in Unix timestamp."
          },
          "weather": {
            "type": "string",
            "nullable": true,
            "description": "Primary weather category, such as Rain, Snow, or Clouds; null if unavailable."
          },
          "weather_code": {
            "type": "integer",
            "nullable": true,
            "description": "Detailed provider condition ID. Unknown IDs are preserved; null if no valid ID is available."
          },
          "weather_description": {
            "type": "string",
            "description": "Description of the primary condition. Use this as the icon alternative text."
          },
          "is_day": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether it is daytime at the weather location. True for day, false for night, or null when unavailable. This is independent of your application theme."
          },
          "weather_icon": {
            "type": "string",
            "description": "Stable icon name, such as rain-light or clear-night. Unknown conditions use the unknown icon."
          },
          "weather_icon_url": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the SVG icon for a light interface."
          },
          "weather_icon_url_dark": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the SVG icon for a dark interface."
          },
          "weather_icon_png_url": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the 128-pixel transparent PNG for a light interface."
          },
          "weather_icon_png_url_dark": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the 128-pixel transparent PNG for a dark interface."
          },
          "weather_conditions": {
            "type": "array",
            "description": "All simultaneous conditions, in provider order. Each has the weather, weather_code, weather_description, is_day, weather_icon, and four URL fields above. The first is the primary condition. An empty array means condition data was unavailable.",
            "items": {
              "$ref": "#/components/schemas/WeatherCondition"
            }
          }
        }
      },
      "WeatherCondition": {
        "type": "object",
        "required": [
          "weather",
          "weather_code",
          "weather_description",
          "is_day",
          "weather_icon",
          "weather_icon_url",
          "weather_icon_url_dark",
          "weather_icon_png_url",
          "weather_icon_png_url_dark"
        ],
        "properties": {
          "weather": {
            "type": "string",
            "nullable": true,
            "description": "Primary weather category, such as Rain, Snow, or Clouds; null if unavailable."
          },
          "weather_code": {
            "type": "integer",
            "nullable": true,
            "description": "Detailed provider condition ID. Unknown IDs are preserved; null if no valid ID is available."
          },
          "weather_description": {
            "type": "string",
            "description": "Description of the primary condition. Use this as the icon alternative text."
          },
          "is_day": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether it is daytime at the weather location. True for day, false for night, or null when unavailable. This is independent of your application theme."
          },
          "weather_icon": {
            "type": "string",
            "description": "Stable icon name, such as rain-light or clear-night. Unknown conditions use the unknown icon."
          },
          "weather_icon_url": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the SVG icon for a light interface."
          },
          "weather_icon_url_dark": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the SVG icon for a dark interface."
          },
          "weather_icon_png_url": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the 128-pixel transparent PNG for a light interface."
          },
          "weather_icon_png_url_dark": {
            "type": "string",
            "format": "uri",
            "description": "Public HTTPS URL of the 128-pixel transparent PNG for a dark interface."
          }
        }
      },
      "ForecastResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WeatherResponse"
          },
          {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "integer",
                "description": "Forecast timestamp in Unix seconds (UTC)."
              }
            }
          }
        ]
      },
      "WeatherIconTheme": {
        "type": "object",
        "required": [
          "svg",
          "png"
        ],
        "properties": {
          "svg": {
            "type": "string",
            "format": "uri"
          },
          "png": {
            "type": "object",
            "required": [
              "64",
              "128",
              "256"
            ],
            "properties": {
              "64": {
                "type": "string",
                "format": "uri"
              },
              "128": {
                "type": "string",
                "format": "uri"
              },
              "256": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      },
      "WeatherIcon": {
        "type": "object",
        "required": [
          "icon",
          "description",
          "weather_codes",
          "phase",
          "type",
          "light",
          "dark"
        ],
        "properties": {
          "icon": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "weather_codes": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Empty for extensions and the fallback."
          },
          "phase": {
            "type": "string",
            "enum": [
              "day",
              "night",
              "neutral",
              "any"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "core",
              "extension",
              "fallback"
            ]
          },
          "light": {
            "$ref": "#/components/schemas/WeatherIconTheme"
          },
          "dark": {
            "$ref": "#/components/schemas/WeatherIconTheme"
          }
        }
      },
      "WeatherIconConditionMapping": {
        "type": "object",
        "required": [
          "code",
          "description",
          "icons"
        ],
        "properties": {
          "code": {
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "icons": {
            "type": "object",
            "required": [
              "day",
              "night",
              "neutral"
            ],
            "properties": {
              "day": {
                "type": "string",
                "description": "Stable icon name."
              },
              "night": {
                "type": "string",
                "description": "Stable icon name."
              },
              "neutral": {
                "type": "string",
                "description": "Stable icon name."
              }
            }
          }
        }
      },
      "WeatherIconCatalog": {
        "type": "object",
        "required": [
          "version",
          "icon_count",
          "file_count",
          "condition_count",
          "icons",
          "conditions"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "icon_count": {
            "type": "integer",
            "example": 74
          },
          "file_count": {
            "type": "integer",
            "example": 592
          },
          "condition_count": {
            "type": "integer",
            "example": 55
          },
          "icons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherIcon"
            }
          },
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherIconConditionMapping"
            }
          }
        }
      },
      "WebScraperResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "description": "The HTML or plaintext data scraped from the URL."
          }
        }
      },
      "WebScraperOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message describing the failure."
          }
        }
      },
      "WebpageResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL to retrieve information from."
          },
          "domain": {
            "type": "string",
            "description": "Domain name of the URL."
          },
          "url_path": {
            "type": "string",
            "description": "Path of the URL."
          },
          "url_parameters": {
            "type": "object",
            "additionalProperties": true,
            "description": "Parameters of the URL."
          },
          "page_title": {
            "type": "string",
            "description": "Title of the web page."
          },
          "page_description": {
            "type": "string",
            "description": "Description of the web page."
          },
          "meta_tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Meta tags of the web page."
          },
          "favicon": {
            "type": "string",
            "description": "Favicon of the web page."
          }
        }
      },
      "WhoisResponse": {
        "type": "object",
        "description": "Domain registration details. The exact set of fields returned varies by the domain's TLD and registrar; some properties below may be absent for a given domain, and some TLDs return additional fields such as emails.",
        "properties": {
          "domain_name": {
            "type": "string",
            "example": "example.com"
          },
          "registrar": {
            "type": "string",
            "example": "reserved-internet assigned numbers authority"
          },
          "registrar_url": {
            "type": "string",
            "description": "URL of the domain registrar. Not returned for all TLDs.",
            "example": "http://res-dom.iana.org"
          },
          "whois_server": {
            "type": "string",
            "description": "WHOIS server used for the query. Not returned for all TLDs.",
            "example": "whois.iana.org"
          },
          "updated_date": {
            "type": "integer",
            "format": "unix-time",
            "example": 1628924504
          },
          "creation_date": {
            "type": "integer",
            "format": "unix-time",
            "example": 808372800
          },
          "expiration_date": {
            "type": "integer",
            "format": "unix-time",
            "example": 1660363200
          },
          "name_servers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "a.iana-servers.net",
              "b.iana-servers.net"
            ]
          },
          "dnssec": {
            "type": "string",
            "example": "signeddelegation"
          },
          "emails": {
            "type": "string",
            "description": "Contact email(s) from the WHOIS record. Returned only for some TLDs (e.g. .org); not present for .com.",
            "example": "cbath@pir.org"
          },
          "is_eu": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the registrant country is an EU member state. Null when the registrant country is not published; most registrars redact it."
          },
          "is_eea": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the registrant country is in the European Economic Area. Null when not published."
          },
          "is_sepa": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the registrant country is in the Single Euro Payments Area. Null when not published."
          },
          "registrant_privacy": {
            "type": "boolean",
            "nullable": true,
            "description": "Premium (paid plans only). Whether the registrant's identity is hidden. False when a real registrant is published, true when the record is redacted or a privacy service stands in, null when no registrant record could be retrieved. Omitted entirely on the Free plan.",
            "example": false
          },
          "registrant_org": {
            "type": "string",
            "description": "Premium (paid plans only). The organisation that owns the domain, in its original casing. Absent when the registrant is not published, or when a privacy service stands in -- see privacy_service. Omitted entirely on the Free plan.",
            "example": "Google LLC"
          },
          "privacy_service": {
            "type": "string",
            "description": "Premium (paid plans only). Name of the privacy or proxy provider standing in for the registrant, when one can be identified. Absent when the registrar simply redacted the record without naming a provider. Note that several of these read like ordinary companies: DNStination Inc. and Domain Protection Services, Inc. are privacy services, not owners. Omitted entirely on the Free plan.",
            "example": "Domains By Proxy, LLC"
          },
          "registrant_country": {
            "type": "string",
            "description": "Premium (paid plans only). Registrant country as an ISO 3166-1 alpha-2 code. Absent whenever privacy_service is set, because that address belongs to the privacy provider rather than the registrant. Still returned for plainly redacted records, where registrars continue to publish the real country under ICANN policy. Omitted entirely on the Free plan.",
            "example": "US"
          },
          "registrant_state": {
            "type": "string",
            "description": "Premium (paid plans only). Registrant state or province. Absent whenever privacy_service is set, for the same reason as registrant_country. Omitted entirely on the Free plan.",
            "example": "CA"
          },
          "registrant_name": {
            "type": "string",
            "description": "Premium (paid plans only). The individual registrant's name. Rarely present: redaction of natural-person contact details is effectively universal post-GDPR, and this field was absent for every domain in our testing. Use registrant_org and registrant_privacy instead; do not build on this field being returned. Omitted entirely on the Free plan.",
            "example": "Jane Roe"
          }
        }
      },
      "WhoisOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "code": {
            "type": "integer"
          }
        }
      },
      "WorkingDaysResponse": {
        "type": "object",
        "properties": {
          "num_working_days": {
            "type": "integer",
            "description": "Total number of working days in the period."
          },
          "num_non_working_days": {
            "type": "integer",
            "description": "Total number of non-working days in the period."
          },
          "working_days": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date",
              "description": "List of dates that are working days."
            }
          },
          "non_working_days": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "description": "Date of the non-working day."
                },
                "reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Reasons why the day is non-working."
                },
                "holiday_name": {
                  "type": "string",
                  "description": "Name of the public holiday, if applicable."
                }
              }
            },
            "description": "List of dates that are non-working days, with reasons and holiday names if applicable."
          }
        }
      },
      "IsWorkingDayResponse": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "The queried date."
          },
          "country": {
            "type": "string",
            "description": "2-letter ISO country code."
          },
          "day_of_week": {
            "type": "string",
            "description": "Day of the week (Monday through Sunday)."
          },
          "is_workday": {
            "type": "boolean",
            "description": "Whether the date is a working day."
          },
          "non_working_reason": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of reasons why the date is not a working day (if applicable)."
          },
          "public_holiday_name": {
            "type": "string",
            "description": "Name of the public holiday (if applicable)."
          }
        }
      },
      "WorldTimeResponse": {
        "type": "object",
        "properties": {
          "timezone": {
            "type": "string",
            "example": "Europe/London"
          },
          "datetime": {
            "type": "string",
            "example": "2022-09-18 19:16:43"
          },
          "date": {
            "type": "string",
            "example": "2022-09-18"
          },
          "year": {
            "type": "string",
            "example": "2022"
          },
          "month": {
            "type": "string",
            "example": "09"
          },
          "day": {
            "type": "string",
            "example": "18"
          },
          "hour": {
            "type": "string",
            "example": "19"
          },
          "minute": {
            "type": "string",
            "example": "16"
          },
          "second": {
            "type": "string",
            "example": "43"
          },
          "day_of_week": {
            "type": "string",
            "example": "Sunday"
          }
        }
      },
      "WorldTimeOpenapi_ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        }
      },
      "ZipCodeResponse": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "zip_code": {
              "type": "string",
              "example": "97201"
            },
            "valid": {
              "type": "boolean",
              "example": true
            },
            "city": {
              "type": "string",
              "example": "Portland"
            },
            "state": {
              "type": "string",
              "example": "OR"
            },
            "county": {
              "type": "string",
              "example": "Multnomah County"
            },
            "timezone": {
              "type": "string",
              "example": "America/Los_Angeles"
            },
            "area_codes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "503",
                "971"
              ]
            },
            "country": {
              "type": "string",
              "example": "US"
            },
            "lat": {
              "type": "string",
              "example": "45.5074"
            },
            "lon": {
              "type": "string",
              "example": "-122.6898"
            },
            "population": {
              "type": "integer",
              "nullable": true,
              "description": "Population of the nearest populated place to the ZIP centroid. Premium field: the Free tier receives a notice string in place of the value."
            },
            "elevation_m": {
              "type": "integer",
              "nullable": true,
              "description": "Elevation in metres of the nearest populated place. Premium field: the Free tier receives a notice string in place of the value."
            },
            "climate_zone": {
              "type": "string",
              "nullable": true,
              "description": "Köppen-Geiger climate classification code, e.g. Csa. Premium field: the Free tier receives a notice string in place of the value."
            },
            "urbanisation": {
              "type": "string",
              "nullable": true,
              "description": "Degree of urbanisation, from URBAN_CENTRE to VERY_LOW_DENSITY_RURAL. Premium field: the Free tier receives a notice string in place of the value."
            },
            "nearest_airport": {
              "type": "object",
              "nullable": true,
              "description": "Nearest IATA-coded airport with distance and bearing. Premium field: the Free tier receives a notice string in place of the value.",
              "properties": {
                "name": {
                  "type": "string"
                },
                "iata": {
                  "type": "string"
                },
                "icao": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                },
                "municipality": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "scheduled_service": {
                  "type": "boolean"
                },
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "elevation_m": {
                  "type": "integer",
                  "nullable": true
                },
                "distance_km": {
                  "type": "number"
                },
                "bearing_degrees": {
                  "type": "number"
                }
              }
            },
            "zcta": {
              "type": "string",
              "description": "ZIP Code Tabulation Area. Null for the ~19% of ZIP Codes with no ZCTA (PO-box-only, unique and military ZIPs); ZCTA-level fields are then unavailable.",
              "nullable": true,
              "example": "90210"
            },
            "land_area_sqmi": {
              "type": "number",
              "description": "Land area of the ZCTA in square miles.",
              "nullable": true,
              "example": 10.748
            },
            "water_area_sqmi": {
              "type": "number",
              "description": "Water area of the ZCTA in square miles.",
              "nullable": true,
              "example": 0.054
            },
            "state_fips": {
              "type": "string",
              "description": "2-digit state FIPS code.",
              "nullable": true,
              "example": "06"
            },
            "county_fips": {
              "type": "string",
              "description": "5-digit FIPS code of the predominant county.",
              "nullable": true,
              "example": "06037"
            },
            "tract_fips": {
              "type": "string",
              "description": "11-digit FIPS code of the predominant Census tract.",
              "nullable": true,
              "example": "06037261102"
            },
            "counties": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "fips": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "land_share": {
                    "type": "number",
                    "description": "Share of the ZIP Code’s land area falling in this area."
                  }
                }
              },
              "example": [
                {
                  "fips": "06037",
                  "name": "Los Angeles County",
                  "land_share": 1
                }
              ],
              "description": "Every county the ZIP Code overlaps. ~30% span more than one."
            },
            "cbsa_code": {
              "type": "string",
              "description": "Core Based Statistical Area code (OMB 2023).",
              "nullable": true,
              "example": "31080"
            },
            "cbsa_title": {
              "type": "string",
              "description": "CBSA name.",
              "nullable": true,
              "example": "Los Angeles-Long Beach-Anaheim, CA"
            },
            "cbsa_type": {
              "type": "string",
              "description": "Either metro or micro.",
              "nullable": true,
              "enum": [
                "metro",
                "micro"
              ],
              "example": "metro"
            },
            "csa_code": {
              "type": "string",
              "description": "Combined Statistical Area code.",
              "nullable": true,
              "example": "348"
            },
            "csa_title": {
              "type": "string",
              "description": "CSA name.",
              "nullable": true,
              "example": "Los Angeles-Long Beach, CA"
            },
            "timezones": {
              "type": "array",
              "description": "IANA timezones covering the ZIP Code. More than one means the county is split.",
              "items": {
                "type": "string"
              },
              "example": [
                "America/Los_Angeles"
              ]
            },
            "observes_dst": {
              "type": "boolean",
              "description": "Whether daylight saving is observed. Null where not uniform across the county (the Navajo Nation in Arizona).",
              "nullable": true,
              "example": true
            },
            "timezone_is_split": {
              "type": "boolean",
              "description": "True when the county is divided by a timezone or DST boundary.",
              "nullable": true,
              "example": false
            },
            "utc_offset_std": {
              "type": "string",
              "description": "Standard-time UTC offset.",
              "nullable": true,
              "example": "-08:00"
            },
            "utc_offset_current": {
              "type": "string",
              "description": "UTC offset in effect now, resolved per request.",
              "nullable": true,
              "example": "-07:00"
            },
            "is_dst_now": {
              "type": "boolean",
              "description": "Whether daylight saving is currently in effect.",
              "nullable": true,
              "example": true
            },
            "school_districts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "leaid": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "land_share": {
                    "type": "number",
                    "description": "Share of the ZIP Code’s land area falling in this area."
                  }
                }
              },
              "example": [
                {
                  "leaid": "0622710",
                  "name": "Los Angeles Unified School District",
                  "type": "unified",
                  "land_share": 0.5933
                }
              ],
              "description": "Every overlapping school district. 61% of ZIP Codes touch more than one."
            },
            "primary_school_district": {
              "type": "string",
              "description": "District covering the largest share.",
              "nullable": true,
              "example": "Los Angeles Unified School District"
            },
            "primary_school_district_leaid": {
              "type": "string",
              "description": "NCES LEAID of the primary district.",
              "nullable": true,
              "example": "0622710"
            },
            "congressional_districts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "district": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "land_share": {
                    "type": "number",
                    "description": "Share of the ZIP Code’s land area falling in this area."
                  }
                }
              },
              "example": [
                {
                  "district": "0632",
                  "name": "Congressional District 32",
                  "land_share": 0.6231
                }
              ],
              "description": "Every overlapping congressional district. ~15% of ZIP Codes span more than one."
            },
            "congressional_district_vintage": {
              "type": "string",
              "description": "Which congressional boundary set the districts reflect.",
              "nullable": true,
              "example": "cd119"
            },
            "state_legislative_upper": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "district": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "land_share": {
                    "type": "number",
                    "description": "Share of the ZIP Code’s land area falling in this area."
                  }
                }
              },
              "example": [
                {
                  "district": "06024",
                  "name": "State Senate District 24",
                  "land_share": 0.9432
                }
              ]
            },
            "state_legislative_lower": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "district": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "land_share": {
                    "type": "number",
                    "description": "Share of the ZIP Code’s land area falling in this area."
                  }
                }
              },
              "example": [
                {
                  "district": "06051",
                  "name": "Assembly District 51",
                  "land_share": 0.6445
                }
              ],
              "description": "State house districts. Nebraska is unicameral and returns none."
            },
            "demographics": {
              "type": "object",
              "nullable": true,
              "description": "ACS 2020-2024 5-year estimates for the ZCTA. Individual values are null where suppressed for small sample sizes.",
              "properties": {
                "population": {
                  "type": "integer"
                },
                "median_age": {
                  "type": "number"
                },
                "median_household_income": {
                  "type": "integer",
                  "nullable": true
                },
                "per_capita_income": {
                  "type": "integer",
                  "nullable": true
                },
                "median_home_value": {
                  "type": "integer",
                  "nullable": true
                },
                "median_gross_rent": {
                  "type": "integer",
                  "nullable": true
                },
                "housing_units": {
                  "type": "integer"
                },
                "owner_occupied_pct": {
                  "type": "number",
                  "nullable": true
                },
                "poverty_rate": {
                  "type": "number",
                  "nullable": true
                },
                "unemployment_rate": {
                  "type": "number",
                  "nullable": true
                },
                "bachelors_or_higher_pct": {
                  "type": "number",
                  "nullable": true
                },
                "mean_commute_minutes": {
                  "type": "number",
                  "nullable": true
                },
                "estimate_flags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Names any median that fell in an open-ended top or bottom category, where the value is the category bound rather than a true median."
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "200": {
        "description": "A list of animals matching the query.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Animal"
              }
            }
          }
        }
      },
      "400": {
        "description": "Bad Request. The request was unacceptable, often due to missing a required parameter."
      },
      "401": {
        "description": "Unauthorized. No valid API key provided."
      },
      "500": {
        "description": "Internal Server Error. Something went wrong on the API's end."
      },
      "AdviceResponse": {
        "description": "A random piece of life advice.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "advice": {
                  "type": "string",
                  "example": "Don't be afraid to ask for help when you need it - everyone needs support sometimes."
                }
              }
            }
          }
        }
      },
      "BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Invalid request"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "API Key is missing or invalid"
                }
              }
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Internal server error"
                }
              }
            }
          }
        }
      },
      "BabyNames": {
        "description": "A list of baby names",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BabyNamesResponse"
            }
          }
        }
      },
      "BabyNamesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BabyNamesOpenapi_Error"
            }
          }
        }
      },
      "BabyNamesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BabyNamesOpenapi_Error"
            }
          }
        }
      },
      "BabyNamesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BabyNamesOpenapi_Error"
            }
          }
        }
      },
      "BarcodeOpenapi_200": {
        "description": "Successful response with barcode image binary.",
        "content": {
          "image/png": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/svg+xml": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "BarcodeOpenapi_400": {
        "description": "Bad Request - Invalid parameters or request format."
      },
      "BarcodeOpenapi_401": {
        "description": "Unauthorized - API key missing or invalid."
      },
      "BarcodeOpenapi_500": {
        "description": "Internal Server Error"
      },
      "BinOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Description of the error."
                }
              }
            }
          }
        }
      },
      "BinOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Description of the error."
                }
              }
            }
          }
        }
      },
      "BinOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Description of the error."
                }
              }
            }
          }
        }
      },
      "BucketListItem": {
        "description": "A random bucket list idea",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "item": {
                  "type": "string",
                  "example": "Attend Carnaval in Brazil"
                }
              }
            }
          }
        }
      },
      "BucketListOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "API key is missing or invalid"
                }
              }
            }
          }
        }
      },
      "CarsOpenapi_BadRequest": {
        "description": "Invalid parameter. The message names the parameter and lists the valid values.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CarsOpenapi_Error"
            }
          }
        }
      },
      "CarsOpenapi_Unauthorized": {
        "description": "Missing or invalid API key.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CarsOpenapi_Error"
            }
          }
        }
      },
      "NotFound": {
        "description": "Nothing matched.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CarsOpenapi_Error"
            }
          }
        }
      },
      "ServerError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CarsOpenapi_Error"
            }
          }
        }
      },
      "CatsOpenapi_200": {
        "description": "A list of cat breeds",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Cat"
              }
            }
          }
        }
      },
      "CatsOpenapi_400": {
        "description": "Bad Request"
      },
      "CatsOpenapi_401": {
        "description": "Unauthorized"
      },
      "CatsOpenapi_500": {
        "description": "Internal Server Error"
      },
      "200Names": {
        "description": "A list of all cat breed names",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CatNames"
            }
          }
        }
      },
      "JokeSuccess": {
        "description": "A Chuck Norris joke",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/JokeResponse"
            }
          }
        }
      },
      "ChuckNorrisOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "ChuckNorrisOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "ChuckNorrisOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "CityResponse": {
        "description": "A list of cities matching the query.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/City"
              }
            }
          }
        }
      },
      "Error400": {
        "description": "Bad Request - The request was unacceptable, often due to missing a required parameter.",
        "content": {}
      },
      "Error401": {
        "description": "Unauthorized - No valid API key provided.",
        "content": {}
      },
      "Error500": {
        "description": "Internal Server Error - We had a problem with our server. Try again later.",
        "content": {}
      },
      "CocktailOpenapi_200": {
        "description": "A list of cocktails matching the search parameters.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CocktailResponse"
            }
          }
        }
      },
      "CocktailOpenapi_400": {
        "description": "Bad Request - The request was invalid."
      },
      "CocktailOpenapi_401": {
        "description": "Unauthorized - API key is missing or invalid."
      },
      "CocktailOpenapi_500": {
        "description": "Internal Server Error - We had a problem with our server."
      },
      "CounterSuccess": {
        "description": "Counter operation successful.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CounterResponse"
            }
          }
        }
      },
      "CounterOpenapi_BadRequest": {
        "description": "Bad Request.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CounterOpenapi_ErrorResponse"
            }
          }
        }
      },
      "CounterOpenapi_Unauthorized": {
        "description": "Unauthorized access, invalid API key.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CounterOpenapi_ErrorResponse"
            }
          }
        }
      },
      "CounterOpenapi_InternalServerError": {
        "description": "Internal Server Error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CounterOpenapi_ErrorResponse"
            }
          }
        }
      },
      "CountryFlagOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CountryFlagOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CountryFlagOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CountyOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CountyOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CountyOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CryptoSymbolsSuccess": {
        "description": "A list of available cryptocurrency symbols.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of cryptocurrency symbol pairs."
                }
              }
            }
          }
        }
      },
      "CryptoSymbolsOpenapi_BadRequest": {
        "description": "Bad Request. The request was invalid.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CryptoSymbolsOpenapi_Unauthorized": {
        "description": "Unauthorized. API key is missing or invalid.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CryptoSymbolsOpenapi_InternalServerError": {
        "description": "Internal Server Error.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "DadJokeResponse": {
        "description": "A list of random dad jokes",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DadJoke"
              }
            }
          }
        }
      },
      "DadJokesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DadJokesOpenapi_Error"
            }
          }
        }
      },
      "DadJokesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DadJokesOpenapi_Error"
            }
          }
        }
      },
      "DadJokesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DadJokesOpenapi_Error"
            }
          }
        }
      },
      "DisposableEmailCheckerOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DisposableEmailCheckerOpenapi_ErrorResponse"
            }
          }
        }
      },
      "DisposableEmailCheckerOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DisposableEmailCheckerOpenapi_ErrorResponse"
            }
          }
        }
      },
      "DisposableEmailCheckerOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DisposableEmailCheckerOpenapi_ErrorResponse"
            }
          }
        }
      },
      "EarningsCalendarOpenapi_200": {
        "description": "A list of earnings results",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EarningsResult"
              }
            }
          }
        }
      },
      "EarningsCalendarOpenapi_400": {
        "description": "Bad Request"
      },
      "EarningsCalendarOpenapi_401": {
        "description": "Unauthorized"
      },
      "EarningsCalendarOpenapi_500": {
        "description": "Internal Server Error"
      },
      "EmojiOpenapi_400": {
        "description": "Bad Request"
      },
      "EmojiOpenapi_401": {
        "description": "Unauthorized"
      },
      "EmojiOpenapi_500": {
        "description": "Internal Server Error"
      },
      "ExerciseList": {
        "description": "A list of exercises.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Exercise"
              }
            }
          }
        }
      },
      "ExercisesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExercisesOpenapi_Error"
            }
          }
        }
      },
      "ExercisesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExercisesOpenapi_Error"
            }
          }
        }
      },
      "ExercisesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExercisesOpenapi_Error"
            }
          }
        }
      },
      "FactResponse": {
        "description": "A random fact response",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Fact"
              }
            }
          }
        }
      },
      "FactsOpenapi_BadRequest": {
        "description": "Bad Request Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FactsOpenapi_Error"
            }
          }
        }
      },
      "FactsOpenapi_Unauthorized": {
        "description": "Unauthorized Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FactsOpenapi_Error"
            }
          }
        }
      },
      "FactsOpenapi_InternalServerError": {
        "description": "Internal Server Error Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FactsOpenapi_Error"
            }
          }
        }
      },
      "HobbyResponse": {
        "description": "A random hobby and a Wikipedia link detailing the hobby.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Hobby"
            }
          }
        }
      },
      "HobbiesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/HobbiesOpenapi_Error"
            }
          }
        }
      },
      "HobbiesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/HobbiesOpenapi_Error"
            }
          }
        }
      },
      "HobbiesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/HobbiesOpenapi_Error"
            }
          }
        }
      },
      "HospitalList": {
        "description": "A list of hospitals",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Hospital"
              }
            }
          }
        }
      },
      "IpoOpenapi_200": {
        "description": "A list of IPO records",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/IPOResponse"
            }
          }
        }
      },
      "IpoOpenapi_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/IpoOpenapi_ErrorResponse"
            }
          }
        }
      },
      "IpoOpenapi_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/IpoOpenapi_ErrorResponse"
            }
          }
        }
      },
      "IpoOpenapi_500": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/IpoOpenapi_ErrorResponse"
            }
          }
        }
      },
      "JokeResponse": {
        "description": "A list of random jokes",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Joke"
              }
            }
          }
        }
      },
      "JokesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/JokesOpenapi_Error"
            }
          }
        }
      },
      "JokesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/JokesOpenapi_Error"
            }
          }
        }
      },
      "JokesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/JokesOpenapi_Error"
            }
          }
        }
      },
      "LoremIpsumOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LoremIpsumOpenapi_Error"
            }
          }
        }
      },
      "LoremIpsumOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LoremIpsumOpenapi_Error"
            }
          }
        }
      },
      "LoremIpsumOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LoremIpsumOpenapi_Error"
            }
          }
        }
      },
      "PasswordGenerated": {
        "description": "A random password is generated successfully.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PasswordResponse"
            }
          }
        }
      },
      "PasswordGeneratorOpenapi_BadRequest": {
        "description": "Bad Request. The request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PasswordGeneratorOpenapi_ErrorResponse"
            }
          }
        }
      },
      "PasswordGeneratorOpenapi_Unauthorized": {
        "description": "Unauthorized. No valid API key provided.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PasswordGeneratorOpenapi_ErrorResponse"
            }
          }
        }
      },
      "PasswordGeneratorOpenapi_InternalServerError": {
        "description": "Internal Server Error. Something went wrong on the server.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PasswordGeneratorOpenapi_ErrorResponse"
            }
          }
        }
      },
      "PlanetsOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "PlanetsOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "PlanetsOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "PublicHolidaysOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "PublicHolidaysOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "PublicHolidaysOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "QRCodeResponse": {
        "description": "QR Code Image Response",
        "content": {
          "image/png": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/jpg": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/jpeg": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "application/postscript": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/svg+xml": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "QrCodeOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "QrCodeOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "QrCodeOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "QuoteResponse": {
        "description": "A successful response containing one or more quotes.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Quote"
              }
            }
          }
        }
      },
      "ErrorResponse": {
        "description": "An error response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/QuotesOpenapi_Error"
            }
          }
        }
      },
      "RandomImage": {
        "description": "A random, base64-encoded image in JPEG format.",
        "content": {
          "image/jpg": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "RandomImageOpenapi_BadRequest": {
        "description": "Bad request. The request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RandomImageOpenapi_Unauthorized": {
        "description": "Unauthorized. No valid API key provided.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RandomImageOpenapi_InternalServerError": {
        "description": "Internal Server Error. Something went wrong on the API's end.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RiddleResponse": {
        "description": "A successful response containing one or more riddles.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Riddle"
              }
            }
          }
        }
      },
      "RiddlesOpenapi_BadRequest": {
        "description": "Bad Request Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RiddlesOpenapi_Error"
            }
          }
        }
      },
      "RiddlesOpenapi_Unauthorized": {
        "description": "Unauthorized Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RiddlesOpenapi_Error"
            }
          }
        }
      },
      "RiddlesOpenapi_InternalServerError": {
        "description": "Internal Server Error Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RiddlesOpenapi_Error"
            }
          }
        }
      },
      "SalesTaxOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SalesTaxOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SalesTaxOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SecOpenapi_400": {
        "description": "Bad Request - The request was unacceptable, often due to missing a required parameter."
      },
      "SecOpenapi_401": {
        "description": "Unauthorized - No valid API key provided."
      },
      "SecOpenapi_500": {
        "description": "Internal Server Error - We had a problem with our server. Try again later."
      },
      "StarsOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "StarsOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "StarsOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "LanguageDetectionSuccess": {
        "description": "Language detection successful.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LanguageDetectionResponse"
            }
          }
        }
      },
      "TextLanguageOpenapi_BadRequest": {
        "description": "Bad request, possibly due to missing or invalid parameters.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TextLanguageOpenapi_ErrorResponse"
            }
          }
        }
      },
      "TextLanguageOpenapi_Unauthorized": {
        "description": "Unauthorized, possibly due to missing or invalid API key.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TextLanguageOpenapi_ErrorResponse"
            }
          }
        }
      },
      "TextLanguageOpenapi_InternalServerError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TextLanguageOpenapi_ErrorResponse"
            }
          }
        }
      },
      "UnitConversionOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "UnitConversionOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "UnitConversionOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VATRateResponse": {
        "description": "A list of VAT rates.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VATRate"
              }
            }
          }
        }
      },
      "VatRatesOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VatRatesOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VatRatesOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VATValidationResponse": {
        "description": "The validation result.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VATValidationResult"
            }
          }
        }
      },
      "VatValidationOpenapi_BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VatValidationOpenapi_Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "VatValidationOpenapi_InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "parameters": {
      "manufacturer": {
        "name": "manufacturer",
        "in": "query",
        "description": "Company that designed and built the aircraft.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "model": {
        "name": "model",
        "in": "query",
        "description": "Aircraft model name.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "icao": {
        "name": "icao",
        "in": "query",
        "description": "ICAO aircraft type designator, e.g. A320, B738, A20N. Exact match, case-insensitive. Also decodes types we have no specs for (e.g. helicopters).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "iata": {
        "name": "iata",
        "in": "query",
        "description": "IATA aircraft type code, e.g. 320, 32N, 73H. Family codes such as 32S, 737 or ATR return every type in the family.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "engine_type": {
        "name": "engine_type",
        "in": "query",
        "description": "Type of engine. Must be one of: piston, propjet, jet.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "piston",
            "propjet",
            "jet"
          ]
        }
      },
      "min_speed": {
        "name": "min_speed",
        "in": "query",
        "description": "Minimum max. air speed in knots (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "max_speed": {
        "name": "max_speed",
        "in": "query",
        "description": "Maximum max. air speed in knots (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "min_range": {
        "name": "min_range",
        "in": "query",
        "description": "Minimum range of the aircraft in nautical miles (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "max_range": {
        "name": "max_range",
        "in": "query",
        "description": "Maximum range of the aircraft in nautical miles (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "min_length": {
        "name": "min_length",
        "in": "query",
        "description": "Minimum length of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "max_length": {
        "name": "max_length",
        "in": "query",
        "description": "Maximum length of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "min_height": {
        "name": "min_height",
        "in": "query",
        "description": "Minimum height of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "max_height": {
        "name": "max_height",
        "in": "query",
        "description": "Maximum height of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "min_wingspan": {
        "name": "min_wingspan",
        "in": "query",
        "description": "Minimum wingspan of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "max_wingspan": {
        "name": "max_wingspan",
        "in": "query",
        "description": "Maximum wingspan of the aircraft in feet (inclusive).",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "How many results to return. Must be between 1 and 30. Default is 1.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1,
          "minimum": 1,
          "maximum": 30
        }
      },
      "text": {
        "in": "query",
        "name": "text",
        "description": "Text to encode in the barcode.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "type": {
        "in": "query",
        "name": "type",
        "description": "Type of barcode to generate.",
        "schema": {
          "type": "string",
          "enum": [
            "code39",
            "code128",
            "ean",
            "ean13",
            "ean8",
            "gs1",
            "gtin",
            "isbn",
            "isbn10",
            "isbn13",
            "issn",
            "jan",
            "pzn",
            "upc",
            "upca"
          ],
          "default": "upc"
        }
      },
      "format": {
        "in": "query",
        "name": "format",
        "description": "Image format to return.",
        "schema": {
          "type": "string",
          "enum": [
            "png",
            "svg"
          ],
          "default": "png"
        }
      },
      "include_text": {
        "in": "query",
        "name": "include_text",
        "description": "Whether to include the text below the barcode.",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "safe": {
        "name": "safe",
        "in": "query",
        "description": "Premium subscribers only. Set safe=true to exclude jokes flagged as sexually explicit, crude, or containing profanity, slurs, or offensive content. Defaults to false, so results are unfiltered unless you opt in. Filtering is best-effort and not a guarantee. Any value other than true/false returns an error, as does using this parameter on a free account.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "have": {
        "name": "have",
        "in": "query",
        "description": "Currency you currently hold. Must be 3-character currency code (e.g. USD).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "want": {
        "name": "want",
        "in": "query",
        "description": "Currency you want to convert to. Must be 3-character currency code (e.g. USD).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "amount": {
        "name": "amount",
        "in": "query",
        "description": "Amount of currency to convert.",
        "required": true,
        "schema": {
          "type": "number"
        }
      },
      "pair": {
        "name": "pair",
        "in": "query",
        "description": "Currency pair in ABC_DEF form (e.g. EUR_USD). Both must be supported fiat currency codes; ZWG, BTC, and XAG are not supported.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "window": {
        "name": "window",
        "in": "query",
        "description": "Lookback window for realized volatility, in trading days. Defaults to 30. Must be between 2 and 1000.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 30
        }
      },
      "method": {
        "name": "method",
        "in": "query",
        "description": "Volatility method: close_to_close (default) or ewma.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "close_to_close",
            "ewma"
          ],
          "default": "close_to_close"
        }
      },
      "dayCount": {
        "name": "day_count",
        "in": "query",
        "description": "Annualization factor: 252 trading days (default) or 365 calendar days.",
        "required": false,
        "schema": {
          "type": "integer",
          "enum": [
            252,
            365
          ],
          "default": 252
        }
      },
      "annualized": {
        "name": "annualized",
        "in": "query",
        "description": "Whether to treat the annualized figure as the headline value. Defaults to true.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "startDate": {
        "name": "start_date",
        "in": "query",
        "description": "Start date (YYYY-MM-DD) for a range query. Use with end_date instead of days.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "endDate": {
        "name": "end_date",
        "in": "query",
        "description": "End date (YYYY-MM-DD) for a range query. Use with start_date instead of days.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "days": {
        "name": "days",
        "in": "query",
        "description": "Length of the trailing date range in calendar days, ending today. Defaults to 90. Maximum 1825. Mutually exclusive with start_date/end_date.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 90
        }
      },
      "forecastMethod": {
        "name": "method",
        "in": "query",
        "description": "Forecast method: garch_11 (default) or ewma. If a GARCH fit does not converge the response falls back to EWMA.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "garch_11",
            "ewma"
          ],
          "default": "garch_11"
        }
      },
      "lambda": {
        "name": "lambda",
        "in": "query",
        "description": "EWMA decay factor (only used when method=ewma). Defaults to 0.94. Must be between 0.80 and 0.99.",
        "required": false,
        "schema": {
          "type": "number",
          "default": 0.94
        }
      },
      "horizon": {
        "name": "horizon",
        "in": "query",
        "description": "Comma-separated forecast horizons in trading days (e.g. 1,5,21,63). Defaults to 1,5,21,63.",
        "required": false,
        "schema": {
          "type": "string",
          "default": "1,5,21,63"
        }
      },
      "ticker": {
        "name": "ticker",
        "in": "query",
        "required": false,
        "description": "Company ticker symbol (e.g., ADBE). Use ticker or cik to query a company, or query by date with no ticker.",
        "schema": {
          "type": "string"
        }
      },
      "cik": {
        "name": "cik",
        "in": "query",
        "required": false,
        "description": "Company Central Index Key (e.g., 796343). Alternative to ticker for identifying a company.",
        "schema": {
          "type": "string"
        }
      },
      "period": {
        "name": "period",
        "in": "query",
        "required": false,
        "description": "Fiscal period (q1, q2, q3, q4, or fy). Requires a ticker/cik and year.",
        "schema": {
          "type": "string",
          "enum": [
            "q1",
            "q2",
            "q3",
            "q4",
            "fy"
          ]
        }
      },
      "year": {
        "name": "year",
        "in": "query",
        "required": false,
        "description": "Fiscal year (e.g. 2024). With a ticker and no period/quarter, returns every period for that year; with period/quarter, one filing. Free accounts: current year only. Paid accounts: the last 5 fiscal years. Data older than 5 fiscal years requires a Business, Professional, Enterprise, or annual subscription.",
        "schema": {
          "type": "integer"
        }
      },
      "quarter": {
        "name": "quarter",
        "in": "query",
        "required": false,
        "description": "Fiscal quarter 1-4 (alternative to period). Requires ticker/cik and year.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 4
        }
      },
      "date": {
        "name": "date",
        "in": "query",
        "required": false,
        "description": "Return every filing whose SEC filing date equals this date (YYYY-MM-DD). Works with no ticker.",
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "date_start": {
        "name": "date_start",
        "in": "query",
        "required": false,
        "description": "Start of a filing-date range (YYYY-MM-DD): all companies that filed on/after this date.",
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "date_end": {
        "name": "date_end",
        "in": "query",
        "required": false,
        "description": "End of a filing-date range (YYYY-MM-DD). Combine with date_start to page through a window.",
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "offset": {
        "name": "offset",
        "in": "query",
        "required": false,
        "description": "Number of results to skip for pagination. Results are returned 50 per page. Default is 0.",
        "schema": {
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      },
      "name": {
        "name": "name",
        "in": "query",
        "description": "Descriptive name of emoji.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "code": {
        "name": "code",
        "in": "query",
        "description": "Unicode character code for the emoji.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "group": {
        "name": "group",
        "in": "query",
        "description": "Main category the emoji belongs to.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "smileys_emotion",
            "people_body",
            "component",
            "animals_nature",
            "food_drink",
            "travel_places",
            "activities",
            "objects",
            "symbols",
            "flags"
          ]
        }
      },
      "subgroup": {
        "name": "subgroup",
        "in": "query",
        "description": "Sub-category the emoji belongs to.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "EmojiOpenapi_offset": {
        "name": "offset",
        "in": "query",
        "description": "Number of results to offset for pagination.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int32",
          "minimum": 0
        }
      },
      "lat": {
        "name": "lat",
        "in": "query",
        "description": "Latitude coordinate.",
        "required": true,
        "schema": {
          "type": "number",
          "format": "double"
        }
      },
      "lon": {
        "name": "lon",
        "in": "query",
        "description": "Longitude coordinate.",
        "required": true,
        "schema": {
          "type": "number",
          "format": "double"
        }
      },
      "distance": {
        "name": "distance",
        "in": "query",
        "description": "Search distance in kilometers. Default is 3 kilometers. Max value is 50 kilometers.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 3,
          "minimum": 1,
          "maximum": 50
        }
      },
      "level": {
        "name": "level",
        "in": "query",
        "description": "Charging level (1, 2, or 3). By default, all levels are returned.",
        "required": false,
        "schema": {
          "type": "integer",
          "enum": [
            1,
            2,
            3
          ]
        }
      },
      "EvChargerOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "description": "How many results to return. Must be between 1 and 30. Default is 3.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 3,
          "minimum": 1,
          "maximum": 30
        }
      },
      "EvChargerOpenapi_offset": {
        "name": "offset",
        "in": "query",
        "description": "Number of results to skip. Used for pagination. Default is 0.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 0
        }
      },
      "ExchangeRateOpenapi_pair": {
        "in": "query",
        "name": "pair",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Currency pair to query. Must be in the form of currency1_currency2 (e.g. USD_EUR)"
      },
      "ExchangeRateOpenapi_date": {
        "in": "query",
        "name": "date",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "Single date to query (YYYY-MM-DD). Either date or both start_date and end_date must be provided."
      },
      "start_date": {
        "in": "query",
        "name": "start_date",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "Start date of a range query (YYYY-MM-DD). Must be used with end_date."
      },
      "end_date": {
        "in": "query",
        "name": "end_date",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "End date of a range query (YYYY-MM-DD). Date range cannot exceed 366 days."
      },
      "FactsOpenapi_safe": {
        "name": "safe",
        "in": "query",
        "description": "Premium subscribers only. Set safe=true to exclude facts flagged as sexually explicit, crude, or containing profanity, slurs, or offensive content. Defaults to false, so results are unfiltered unless you opt in. Filtering is best-effort and not a guarantee. Any value other than true/false returns an error, as does using this parameter on a free account.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "city": {
        "name": "city",
        "in": "query",
        "description": "City name.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "state": {
        "name": "state",
        "in": "query",
        "description": "US state (for United States cities only).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "country": {
        "name": "country",
        "in": "query",
        "description": "Country name, 2-letter ISO country code, or 3-letter ISO country code.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "zipcode": {
        "name": "zipcode",
        "in": "query",
        "description": "5-digit zipcode (for United States cities only).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "Latitude": {
        "name": "lat",
        "in": "query",
        "description": "Latitude coordinate.",
        "required": true,
        "schema": {
          "type": "number",
          "format": "double"
        }
      },
      "Longitude": {
        "name": "lon",
        "in": "query",
        "description": "Longitude coordinate.",
        "required": true,
        "schema": {
          "type": "number",
          "format": "double"
        }
      },
      "categoryQuery": {
        "in": "query",
        "name": "category",
        "schema": {
          "type": "string",
          "enum": [
            "general",
            "sports_and_outdoors",
            "education",
            "collection",
            "competition",
            "observation"
          ]
        },
        "description": "Filter hobbies by category. Possible values are: general, sports_and_outdoors, education, collection, competition, observation.",
        "required": false
      },
      "zodiac": {
        "name": "zodiac",
        "in": "query",
        "description": "The zodiac sign to get a horoscope for. Valid values are: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "aries",
            "taurus",
            "gemini",
            "cancer",
            "leo",
            "virgo",
            "libra",
            "scorpio",
            "sagittarius",
            "capricorn",
            "aquarius",
            "pisces"
          ]
        }
      },
      "Country": {
        "name": "country",
        "in": "query",
        "description": "2-letter country code (ISO-3166-1 alpha-2) or name of country (case-insensitive).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "Type": {
        "name": "type",
        "in": "query",
        "description": "Inflation indicator type. Can be either CPI (Consumer Price Index) or HICP (Harmonized Index of Consumer Prices). If not provided, the CPI will be used by default.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "CPI",
            "HICP"
          ]
        }
      },
      "InsiderTradingOpenapi_ticker": {
        "name": "ticker",
        "in": "query",
        "required": false,
        "description": "Company ticker symbol (e.g., AAPL, MSFT).",
        "schema": {
          "type": "string"
        }
      },
      "InsiderTradingOpenapi_cik": {
        "name": "cik",
        "in": "query",
        "required": false,
        "description": "Central Index Key (CIK) of the company.",
        "schema": {
          "type": "string"
        }
      },
      "InsiderTradingOpenapi_name": {
        "name": "name",
        "in": "query",
        "required": false,
        "description": "Name of the insider (exact match). Use /v1/insiderslist to look up insider names.",
        "schema": {
          "type": "string"
        }
      },
      "form_type": {
        "name": "form_type",
        "in": "query",
        "required": false,
        "description": "SEC form type (3, 4, or 5).",
        "schema": {
          "type": "string",
          "enum": [
            "3",
            "4",
            "5"
          ]
        }
      },
      "transaction_type": {
        "name": "transaction_type",
        "in": "query",
        "required": false,
        "description": "Type of transaction (e.g., Purchase, Sale, Award, etc.).",
        "schema": {
          "type": "string"
        }
      },
      "transaction_code": {
        "name": "transaction_code",
        "in": "query",
        "required": false,
        "description": "Transaction code (e.g., P, S, A, D, F, etc.).",
        "schema": {
          "type": "string"
        }
      },
      "transaction_date": {
        "name": "transaction_date",
        "in": "query",
        "required": false,
        "description": "Transaction date in YYYY-MM-DD format.",
        "schema": {
          "type": "string",
          "format": "date",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      },
      "min_transaction_date": {
        "name": "min_transaction_date",
        "in": "query",
        "required": false,
        "description": "Minimum transaction date in YYYY-MM-DD format.",
        "schema": {
          "type": "string",
          "format": "date",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      },
      "max_transaction_date": {
        "name": "max_transaction_date",
        "in": "query",
        "required": false,
        "description": "Maximum transaction date in YYYY-MM-DD format.",
        "schema": {
          "type": "string",
          "format": "date",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      },
      "insider_type": {
        "name": "insider_type",
        "in": "query",
        "required": false,
        "description": "Type of insider: 'director' (matches director or chairman), '10_percent_owner' (matches 10% Owner), or 'officer' (excludes director, 10% owner, and chairman).",
        "schema": {
          "type": "string",
          "enum": [
            "director",
            "10_percent_owner",
            "officer"
          ]
        }
      },
      "min_transaction_value": {
        "name": "min_transaction_value",
        "in": "query",
        "required": false,
        "description": "Minimum transaction value in USD.",
        "schema": {
          "type": "number",
          "format": "float"
        }
      },
      "max_transaction_value": {
        "name": "max_transaction_value",
        "in": "query",
        "required": false,
        "description": "Maximum transaction value in USD.",
        "schema": {
          "type": "number",
          "format": "float"
        }
      },
      "InsiderTradingOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "description": "Maximum number of results to return (1-100, default: 25). Premium subscriptions only.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 10
        }
      },
      "InsiderTradingOpenapi_offset": {
        "name": "offset",
        "in": "query",
        "required": false,
        "description": "Number of results to skip for pagination (default: 0). Premium subscriptions only.",
        "schema": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        }
      },
      "company_ticker": {
        "name": "company_ticker",
        "in": "query",
        "required": false,
        "description": "Company ticker symbol to filter transactions (e.g., AAPL, MSFT).",
        "schema": {
          "type": "string"
        }
      },
      "company_cik": {
        "name": "company_cik",
        "in": "query",
        "required": false,
        "description": "Central Index Key (CIK) of the company to filter transactions (e.g., 789019).",
        "schema": {
          "type": "string"
        }
      },
      "name_required": {
        "name": "name",
        "in": "query",
        "required": true,
        "description": "Name of the insider (exact match). Use /v1/insiderslist to look up insider names.",
        "schema": {
          "type": "string"
        }
      },
      "rate": {
        "name": "rate",
        "in": "query",
        "description": "The specific interest rate identifier. Supports central bank rates (e.g. central_bank_us, central_bank_eu), benchmark rates (e.g. sofr, effr, euribor_3_months, sonia), and bank prime / base lending rates (prime_us, prime_ca, prime_jp, prime_za, lpr_cn_1y, lpr_cn_5y, br_my, blr_my, tpb_br).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "InterestRateOpenapi_start_date": {
        "name": "start_date",
        "in": "query",
        "description": "Start date for the data range (inclusive) in YYYY-MM-DD format, UTC. Cannot be combined with start_time.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date",
          "example": "2024-01-01"
        }
      },
      "InterestRateOpenapi_end_date": {
        "name": "end_date",
        "in": "query",
        "description": "End date for the data range (inclusive) in YYYY-MM-DD format, UTC. Cannot be combined with end_time.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date",
          "example": "2024-12-31"
        }
      },
      "start_time": {
        "name": "start_time",
        "in": "query",
        "description": "Start time for the data range, specified as a UNIX timestamp in seconds. Alternative to start_date.",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "end_time": {
        "name": "end_time",
        "in": "query",
        "description": "End time for the data range, specified as a UNIX timestamp in seconds. Alternative to end_date.",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "page": {
        "name": "page",
        "in": "query",
        "description": "Pagination cursor. Pass the `next` value from a previous response to retrieve the following page of data points.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "LogoOpenapi_name": {
        "name": "name",
        "in": "query",
        "description": "Company name. Supports partial matching (e.g. 'Micro' will match 'Microsoft'). Case-insensitive.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "LogoOpenapi_ticker": {
        "name": "ticker",
        "in": "query",
        "description": "Company ticker symbol (for publicly traded companies only).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "MaxLength": {
        "name": "max_length",
        "in": "query",
        "description": "Maximum character length.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1000
        }
      },
      "Paragraphs": {
        "name": "paragraphs",
        "in": "query",
        "description": "Number of paragraphs to generate. If unset, a default value of 1 will be used.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1
        }
      },
      "StartWithLoremIpsum": {
        "name": "start_with_lorem_ipsum",
        "in": "query",
        "description": "Whether to begin the text with the words 'Lorem ipsum'. Must be either true or false. If unset, a default value of true will be used.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "Random": {
        "name": "random",
        "in": "query",
        "description": "Whether to randomly generate paragraphs. Must be either true or false. If unset, a default value of true will be used.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "dot": {
        "name": "dot",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        },
        "example": 428823,
        "description": "USDOT number. Provide either dot or mc."
      },
      "mc": {
        "name": "mc",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "MC227271",
        "description": "Docket number, with or without the MC/MX/FF prefix. Provide either dot or mc."
      },
      "checks": {
        "name": "checks",
        "in": "query",
        "required": false,
        "schema": {
          "type": "boolean"
        },
        "description": "Business+ only. Include a per-check evaluation against C.H. Robinson's published carrier criteria."
      },
      "min_bipd": {
        "name": "min_bipd",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1000000
        },
        "description": "BI&PD threshold in dollars used by the criteria checks."
      },
      "min_cargo": {
        "name": "min_cargo",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 100000
        },
        "description": "Cargo coverage threshold in dollars used by the criteria checks."
      },
      "MotorCarrierOpenapi_name": {
        "name": "name",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "knight transportation",
        "description": "Company name. Matching is prefix-based against a normalised form of the legal and DBA name."
      },
      "MotorCarrierOpenapi_state": {
        "name": "state",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "AZ"
      },
      "MotorCarrierOpenapi_city": {
        "name": "city",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "zip": {
        "name": "zip",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "status": {
        "name": "status",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "pending"
          ]
        }
      },
      "phone": {
        "name": "phone",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Business+ only. Reverse lookup: find carriers registered with this phone number."
      },
      "email": {
        "name": "email",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Business+ only. Reverse lookup by full email address or by domain."
      },
      "MotorCarrierOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 20,
          "maximum": 100
        }
      },
      "MotorCarrierOpenapi_offset": {
        "name": "offset",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 0,
          "maximum": 10000
        }
      },
      "domain": {
        "in": "query",
        "name": "domain",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Valid domain to check (e.g. x.com). All top-level domains are supported."
      },
      "NaicsCodeOpenapi_code": {
        "name": "code",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "541511",
        "description": "NAICS code, 2 to 6 digits. Required unless title is provided."
      },
      "codes": {
        "name": "codes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "541511,541512,238350",
        "description": "Comma-separated NAICS codes for batch lookup. Maximum 50 on Developer, 500 on Business and above."
      },
      "title": {
        "name": "title",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "example": "Custom Computer Programming",
        "description": "Look up by official title. Supports partial matching."
      },
      "NaicsCodeOpenapi_year": {
        "name": "year",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "2022"
          ],
          "default": "2022"
        },
        "example": "2022",
        "description": "NAICS revision. Currently 2022 only; NAICS 2027 is not published by the Census Bureau until January 2027."
      },
      "NaicsCodeOpenapi_country": {
        "name": "country",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "US"
          ],
          "default": "US"
        },
        "example": "US",
        "description": "Currently US only. NAICS Canada and SCIAN Mexico are not yet available."
      },
      "crosswalk_to": {
        "name": "crosswalk_to",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "2017"
          ]
        },
        "example": "2027",
        "description": "Also map the code to an earlier NAICS revision. Currently 2017 only. The Census concordance covers 6-digit national industries."
      },
      "query": {
        "name": "query",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "mobile app development",
        "description": "Keyword or phrase describing an industry or activity. Limited to 300 characters; for a full business description use /naicsclassify."
      },
      "NaicsCodeOpenapi_level": {
        "name": "level",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 2,
          "maximum": 6
        },
        "example": 6,
        "description": "Restrict results to codes of this digit length."
      },
      "NaicsCodeOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 25,
          "default": 5
        },
        "example": 5,
        "description": "Maximum results. Capped at 5 on Free and Learner, 25 on Developer and above."
      },
      "revenue": {
        "name": "revenue",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number"
        },
        "example": 18000000,
        "description": "Annual receipts in USD. When supplied, the response includes a small-business eligibility verdict."
      },
      "employees": {
        "name": "employees",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        },
        "example": 120,
        "description": "Employee count. Used when the size standard for the code is employee-based."
      },
      "description": {
        "name": "description",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "We manufacture kitchen cabinets and also install them in customers' homes.",
        "description": "Free-text description of the business or establishment to classify. Limited to 2000 characters."
      },
      "include_alternatives": {
        "name": "include_alternatives",
        "in": "query",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": true
        },
        "example": true,
        "description": "Include rejected candidate codes and the rule that rejected each."
      },
      "min_confidence": {
        "name": "min_confidence",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "example": 0.5,
        "description": "Suppress results below this confidence."
      },
      "framework": {
        "name": "framework",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "kyb",
            "card",
            "lending"
          ],
          "default": "kyb"
        },
        "example": "kyb",
        "description": "Risk lens to apply."
      },
      "number": {
        "name": "number",
        "in": "query",
        "description": "Phone number to look up. The leading '+' is optional. If country is not set, include the country code (e.g. 12065550100 or +12065550100).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "PhoneLookupOpenapi_country": {
        "name": "country",
        "in": "query",
        "description": "2-letter ISO-3166 country code the phone number belongs to.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TextParam": {
        "name": "text",
        "in": "query",
        "description": "Input text. Maximum 1000 characters.",
        "required": true,
        "schema": {
          "type": "string",
          "maxLength": 1000
        }
      },
      "data": {
        "in": "query",
        "name": "data",
        "description": "Data to encode in the QR code.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "QrCodeOpenapi_format": {
        "in": "query",
        "name": "format",
        "description": "Image format to return. Must be one of the following: png, jpg, jpeg, eps, svg.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "png",
            "jpg",
            "jpeg",
            "eps",
            "svg"
          ]
        }
      },
      "size": {
        "in": "query",
        "name": "size",
        "description": "Size of the QR code image to generate. The output will be a square image with (size x size) dimensions. The default size is 250.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 250
        }
      },
      "fg_color": {
        "in": "query",
        "name": "fg_color",
        "description": "Foreground color of the QR code. Must be a 6-digit hex color (e.g. 00ff00 for green). Default is 000000 (black).",
        "required": false,
        "schema": {
          "type": "string",
          "default": "000000",
          "pattern": "^[0-9a-fA-F]{6}$"
        }
      },
      "bg_color": {
        "in": "query",
        "name": "bg_color",
        "description": "Background color of the QR code. Must be a 6-digit hex color (e.g. 00ff00 for green). Default is ffffff (white).",
        "required": false,
        "schema": {
          "type": "string",
          "default": "ffffff",
          "pattern": "^[0-9a-fA-F]{6}$"
        }
      },
      "QuotesOpenapi_safe": {
        "name": "safe",
        "in": "query",
        "description": "Premium subscribers only. Set safe=true to exclude quotes flagged as sexually explicit, crude, or containing profanity, slurs, or offensive content. Defaults to false, so results are unfiltered unless you opt in. Filtering is best-effort and not a guarantee. Any value other than true/false returns an error, as does using this parameter on a free account.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "category": {
        "in": "query",
        "name": "category",
        "schema": {
          "type": "string",
          "enum": [
            "nature",
            "city",
            "technology",
            "food",
            "still_life",
            "abstract",
            "wildlife"
          ]
        },
        "description": "Image category. If set, must be one of the following: nature, city, technology, food, still_life, abstract, wildlife. Premium only.",
        "required": false
      },
      "width": {
        "in": "query",
        "name": "width",
        "schema": {
          "type": "integer",
          "default": 640,
          "minimum": 1,
          "maximum": 5000
        },
        "description": "Width of the image to generate. Must be between 1 and 5000. Default value is 640. Premium only.",
        "required": false
      },
      "height": {
        "in": "query",
        "name": "height",
        "schema": {
          "type": "integer",
          "default": 480,
          "minimum": 1,
          "maximum": 5000
        },
        "description": "Height of the image to generate. Must be between 1 and 5000. Default value is 480. Premium only.",
        "required": false
      },
      "RecipeOpenapi_title": {
        "name": "title",
        "in": "query",
        "description": "Recipe title to search for.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "ingredients": {
        "name": "ingredients",
        "in": "query",
        "description": "Comma-separated list of ingredients to search for. Premium subscribers only.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "RecipeOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "description": "Number of results to return. Must be between 1 and 10. If not set, a default value of 1 will be used. Premium subscribers only.",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1,
          "minimum": 1,
          "maximum": 10
        }
      },
      "RecipeOpenapi_offset": {
        "name": "offset",
        "in": "query",
        "description": "Number of results to offset for pagination. Premium subscribers only.",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0
        }
      },
      "RiddlesOpenapi_safe": {
        "name": "safe",
        "in": "query",
        "description": "Premium subscribers only. Set safe=true to exclude riddles flagged as sexually explicit, crude, or containing profanity, slurs, or offensive content. Defaults to false, so results are unfiltered unless you opt in. Filtering is best-effort and not a guarantee. Any value other than true/false returns an error, as does using this parameter on a free account.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "SanctionsScreeningOpenapi_name": {
        "in": "query",
        "name": "name",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Name to screen. Full name, ordering doesn't matter.",
        "example": "Vladimir Putin"
      },
      "entity_type": {
        "in": "query",
        "name": "entity_type",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "individual",
            "entity",
            "vessel",
            "aircraft"
          ]
        },
        "description": "Restrict the screen to a specific entity type. Vessel and aircraft are Business tier and above."
      },
      "SanctionsScreeningOpenapi_country": {
        "in": "query",
        "name": "country",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "ISO 3166-1 alpha-2 country code to filter results by nationality/jurisdiction. Developer tier and above."
      },
      "dob": {
        "in": "query",
        "name": "dob",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "Date of birth (YYYY-MM-DD) to filter individual matches. Loose match: ±1 year. Developer tier and above."
      },
      "nationality": {
        "in": "query",
        "name": "nationality",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "ISO 3166-1 alpha-2 nationality filter. Developer tier and above."
      },
      "sources": {
        "in": "query",
        "name": "sources",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Comma-separated subset of OFAC,EU,UK,UN,AU to scope the screen to specific lists. Developer tier and above."
      },
      "min_score": {
        "in": "query",
        "name": "min_score",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "description": "Minimum confidence score (0-100) to return. Default 70. Developer tier and above."
      },
      "SecOpenapi_ticker": {
        "name": "ticker",
        "in": "query",
        "description": "Ticker symbol of the company to search (e.g. AAPL for Apple).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "filing": {
        "name": "filing",
        "in": "query",
        "description": "SEC filing form type.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "10-K",
            "10-Q",
            "S-1",
            "S-2",
            "S-3",
            "8-K",
            "DEF14A",
            "13D"
          ]
        }
      },
      "start": {
        "name": "start",
        "in": "query",
        "description": "Start date to search. Must be in YYYY-MM-DD format (e.g. 2023-04-01).",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "end": {
        "name": "end",
        "in": "query",
        "description": "End date to search. Must be in YYYY-MM-DD format (e.g. 2023-04-01).",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "SecOpenapi_limit": {
        "name": "limit",
        "in": "query",
        "description": "Number of results to return from 1 to 100. By default, up to 2 results are returned.",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 2
        }
      },
      "swift": {
        "in": "query",
        "name": "swift",
        "schema": {
          "type": "string"
        },
        "description": "The SWIFT Code of the bank to look up.",
        "required": false
      },
      "bank": {
        "in": "query",
        "name": "bank",
        "schema": {
          "type": "string"
        },
        "description": "The name of the bank to look up. This parameter supports partial matching (e.g., Silicon Valley will match Silicon Valley Bank). Premium only.",
        "required": false
      },
      "SwiftCodeOpenapi_city": {
        "in": "query",
        "name": "city",
        "schema": {
          "type": "string"
        },
        "description": "Name of the city in which the bank is located.",
        "required": false
      },
      "SwiftCodeOpenapi_country": {
        "in": "query",
        "name": "country",
        "schema": {
          "type": "string"
        },
        "description": "ISO 3166 2-letter country code of the bank's country.",
        "required": false
      },
      "SwiftCodeOpenapi_offset": {
        "in": "query",
        "name": "offset",
        "schema": {
          "type": "integer",
          "default": 0
        },
        "description": "The number of results to offset for pagination. Default is 0. Annual premium subscriptions only.",
        "required": false
      },
      "routing_number": {
        "name": "routing_number",
        "in": "query",
        "description": "9-digit US ABA routing number. Returns the SWIFT/BIC codes of the US bank identified by the routing number. Available for Business and Professional subscribers only.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "timezone": {
        "name": "timezone",
        "in": "query",
        "description": "Timezone name.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TimezoneOpenapi_lat": {
        "name": "lat",
        "in": "query",
        "description": "Latitude of desired location.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TimezoneOpenapi_lon": {
        "name": "lon",
        "in": "query",
        "description": "Longitude of desired location.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TimezoneOpenapi_city": {
        "name": "city",
        "in": "query",
        "description": "City name.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TimezoneOpenapi_country": {
        "name": "country",
        "in": "query",
        "description": "Country name.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "TriviaOpenapi_category": {
        "name": "category",
        "in": "query",
        "description": "Category of trivia. The possible values are: artliterature, language, sciencenature, general, fooddrink, peopleplaces, geography, historyholidays, entertainment, toysgames, music, mathematics, religionmythology, sportsleisure.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "artliterature",
            "language",
            "sciencenature",
            "general",
            "fooddrink",
            "peopleplaces",
            "geography",
            "historyholidays",
            "entertainment",
            "toysgames",
            "music",
            "mathematics",
            "religionmythology",
            "sportsleisure"
          ]
        }
      },
      "TriviaOpenapi_safe": {
        "name": "safe",
        "in": "query",
        "description": "Premium subscribers only. Set safe=true to exclude questions flagged as sexually explicit, crude, or containing profanity or slurs. Defaults to false, so results are unfiltered unless you opt in. Filtering is best-effort and not a guarantee. Any value other than true/false returns an error, as does using this parameter on a free account.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "UnemploymentOpenapi_country": {
        "in": "query",
        "name": "country",
        "schema": {
          "type": "string"
        },
        "required": false,
        "description": "Country name (case-insensitive) or 2-letter ISO-3166 alpha-2 code of the country. E.g. 'Canada' or 'CA'."
      },
      "UnemploymentOpenapi_year": {
        "in": "query",
        "name": "year",
        "schema": {
          "type": "integer"
        },
        "required": false,
        "description": "Year for which to retrieve unemployment data."
      },
      "ValidateEmailOpenapi_email": {
        "name": "email",
        "in": "query",
        "required": true,
        "description": "Email address to validate.",
        "schema": {
          "type": "string",
          "format": "email"
        }
      },
      "ValidatePhoneOpenapi_number": {
        "name": "number",
        "in": "query",
        "description": "Phone number to check. The leading '+' is optional. If country is not set, include the country code (e.g. 12065550100 or +12065550100).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ValidatePhoneOpenapi_country": {
        "name": "country",
        "in": "query",
        "description": "2-letter ISO-3166 country code the phone number belongs to.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "url": {
        "in": "query",
        "name": "url",
        "description": "URL to scrape.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uri"
        }
      },
      "text_only": {
        "in": "query",
        "name": "text_only",
        "description": "Whether to only extract visible text (ignores HTML tags and metadata).",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "user_agent": {
        "in": "query",
        "name": "user_agent",
        "description": "User-Agent string to use in the request header.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "WhoisOpenapi_domain": {
        "name": "domain",
        "in": "query",
        "description": "Valid domain to check (e.g. example.com). For top-level domains other than .com, a premium subscription is required.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_lat": {
        "name": "lat",
        "in": "query",
        "required": false,
        "description": "Latitude of desired location. Premium subscribers only.",
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_lon": {
        "name": "lon",
        "in": "query",
        "required": false,
        "description": "Longitude of desired location. Premium subscribers only.",
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_city": {
        "name": "city",
        "in": "query",
        "required": false,
        "description": "City name. Premium subscribers only.",
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_state": {
        "name": "state",
        "in": "query",
        "required": false,
        "description": "US state (for United States cities only). Premium subscribers only.",
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_country": {
        "name": "country",
        "in": "query",
        "required": false,
        "description": "Country name. Premium subscribers only.",
        "schema": {
          "type": "string"
        }
      },
      "WorldTimeOpenapi_timezone": {
        "name": "timezone",
        "in": "query",
        "required": false,
        "description": "Timezone name (e.g. Europe/London).",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "paths": {
    "/v1/advice": {
      "get": {
        "summary": "Get a random piece of advice",
        "description": "Returns one random piece of life advice, drawn from a set of over 5000 entries. Takes no parameters and returns a different result each call.",
        "operationId": "getAdvice",
        "tags": [
          "Advice"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AdviceResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/airquality": {
      "get": {
        "summary": "Get air quality by city or location coordinates.",
        "description": "Returns the Air Quality Index plus CO, NO2, O3, SO2, PM2.5 and PM10 concentrations for a location. Requires a `city` or `lat`/`lon`; `state` and `country` disambiguate city names.",
        "operationId": "getAirQuality",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "description": "Latitude of desired location.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "description": "Longitude of desired location.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "US state (for United States cities only).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country name.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with air quality data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AirQualityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid parameters or request format."
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - Error on the server side."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Air Quality"
        ]
      }
    },
    "/v1/aircraft": {
      "get": {
        "tags": [
          "Aircraft"
        ],
        "summary": "Get aircraft details",
        "description": "Returns airplane specs matching the given filters, or decodes an ICAO (icao=A20N) or IATA (iata=32N) aircraft type code. At least one parameter other than limit is required. Helicopter specs: /v1/helicopter.",
        "operationId": "getAircraft",
        "parameters": [
          {
            "$ref": "#/components/parameters/manufacturer"
          },
          {
            "$ref": "#/components/parameters/model"
          },
          {
            "$ref": "#/components/parameters/icao"
          },
          {
            "$ref": "#/components/parameters/iata"
          },
          {
            "$ref": "#/components/parameters/engine_type"
          },
          {
            "$ref": "#/components/parameters/min_speed"
          },
          {
            "$ref": "#/components/parameters/max_speed"
          },
          {
            "$ref": "#/components/parameters/min_range"
          },
          {
            "$ref": "#/components/parameters/max_range"
          },
          {
            "$ref": "#/components/parameters/min_length"
          },
          {
            "$ref": "#/components/parameters/max_length"
          },
          {
            "$ref": "#/components/parameters/min_height"
          },
          {
            "$ref": "#/components/parameters/max_height"
          },
          {
            "$ref": "#/components/parameters/min_wingspan"
          },
          {
            "$ref": "#/components/parameters/max_wingspan"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AircraftResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/airlines": {
      "get": {
        "summary": "Get general and detailed fleet information for airlines.",
        "description": "Returns general and fleet information for airlines matching an ICAO code, IATA code, or name. At least one of `icao`, `iata`, or `name` must be set.",
        "operationId": "getAirlines",
        "tags": [
          "Airlines"
        ],
        "parameters": [
          {
            "name": "icao",
            "in": "query",
            "description": "International Civil Aviation Organization (ICAO) 3-character airline code. At least one of icao, iata, or name must be set.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iata",
            "in": "query",
            "description": "International Air Transport Association (IATA) 2-character airline code. At least one of icao, iata, or name must be set.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Airline name. This parameter supports partial matching (e.g. United will match United Airlines). At least one of icao, iata, or name must be set.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of up to 10 airline results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Airline"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/airports": {
      "get": {
        "summary": "Get airport information",
        "description": "Returns airports matching filters such as IATA/ICAO code, name, city, country, region, elevation, size, or runway length. For typeahead suggestions use /airportsuggest.",
        "operationId": "getAirports",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "iata",
            "in": "query",
            "description": "International Air Transport Association (IATA) airport code (typically 3 characters). Supports partial, case-insensitive matching (substring search).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "icao",
            "in": "query",
            "description": "International Civil Aviation Organization (ICAO) airport code (typically 4 characters). Supports partial, case-insensitive matching (substring search).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Airport name. Supports partial matching (substring search). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Airport country. Must be 2-character ISO-2 country code. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "Administrative region such as state or province within a country. Supports partial, case-insensitive matching (substring search). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "Airport city. Supports partial, case-insensitive matching (substring search). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Airport timezone. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_elevation",
            "in": "query",
            "description": "Minimum airport elevation in feet. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_elevation",
            "in": "query",
            "description": "Maximum airport elevation in feet. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Airport size. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "large",
                "medium",
                "small"
              ]
            }
          },
          {
            "name": "has_iata",
            "in": "query",
            "description": "Filter by whether the airport has an IATA code. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          {
            "name": "min_runway_length",
            "in": "query",
            "description": "Minimum length (in feet) of at least one runway at the airport. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results to return. Must be between 1 and 100. Default is 10. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sort order for results. Default is passengers. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "passengers",
                "name",
                "elevation",
                "runway_length"
              ],
              "default": "passengers"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Sort direction. Default is desc. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of airports.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Airport"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/airportslist": {
      "get": {
        "summary": "Get a list of airport codes and names. Premium only.",
        "description": "Returns a paginated list of airport codes and names. For filtered airport detail use /airports. Requires a premium subscription.",
        "operationId": "getAirportsList",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of airport codes and names.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "icao": {
                        "type": "string",
                        "description": "International Civil Aviation Organization (ICAO) 4-character airport code."
                      },
                      "name": {
                        "type": "string",
                        "description": "Airport name."
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/airportconvert": {
      "get": {
        "summary": "Convert between IATA and ICAO airport codes. Premium only.",
        "description": "Converts an airport code between IATA and ICAO. Pass exactly one of `iata`, `icao`, or `code` (auto-detected). Requires a premium subscription.",
        "operationId": "convertAirportCode",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "iata",
            "in": "query",
            "description": "3-character IATA airport code. Exactly one of iata, icao, or code must be provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "icao",
            "in": "query",
            "description": "4-character ICAO airport code. Exactly one of iata, icao, or code must be provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "Auto-detected IATA (3 chars) or ICAO (4 chars) code. Exactly one of iata, icao, or code must be provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The matched airport's details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AirportConvert"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters or airport not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/airportdistance": {
      "get": {
        "summary": "Calculate the great-circle distance, initial bearing, and estimated flight time between two airports. Premium only.",
        "description": "Calculates great-circle distance, initial bearing, and estimated flight time between two airports. Requires `from` and `to`. Requires a premium subscription.",
        "operationId": "airportDistance",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Origin airport - IATA (3 chars) or ICAO (4 chars) code.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Destination airport - IATA (3 chars) or ICAO (4 chars) code.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "units",
            "in": "query",
            "description": "Distance units. Default is km.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "km",
                "mi",
                "nm"
              ],
              "default": "km"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Distance, bearing, and estimated flight time between the two airports.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AirportDistance"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters or airport not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/airportsuggest": {
      "get": {
        "summary": "Autocomplete / typeahead suggestions for airport search. Matches against IATA, ICAO, name, and city. Premium only.",
        "description": "Returns autocomplete suggestions for airport search, matching IATA, ICAO, name, and city. Requires a `q` of at least 2 characters. Requires a premium subscription.",
        "operationId": "airportSuggest",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Query string. Must be at least 2 characters.",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 2
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Restrict results to a country. Must be a 2-character ISO country code.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Restrict results to a size.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "large",
                "medium",
                "small"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results to return. Must be between 1 and 3. Default is 3.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 3,
              "default": 3
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of compact airport records ranked by match quality and size.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AirportSuggestItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/closestairport": {
      "get": {
        "summary": "Find the airports nearest to a given latitude/longitude. Results are sorted by airport size (largest first), then by distance ascending within each size tier. Premium only.",
        "description": "Returns the airports nearest a coordinate, sorted by airport size then by distance. Requires `lat` and `lon`. Requires a premium subscription.",
        "operationId": "closestAirport",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "description": "Latitude of the search center, in decimal degrees.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "minimum": -90,
              "maximum": 90
            }
          },
          {
            "name": "lon",
            "in": "query",
            "description": "Longitude of the search center, in decimal degrees.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "minimum": -180,
              "maximum": 180
            }
          },
          {
            "name": "radius",
            "in": "query",
            "description": "Search radius in kilometres. Default is 50, maximum is 500.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "minimum": 1,
              "maximum": 500,
              "default": 50
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Restrict to airport size.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "large",
                "medium",
                "small"
              ]
            }
          },
          {
            "name": "has_iata",
            "in": "query",
            "description": "Filter by whether the airport has an IATA code.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          {
            "name": "min_runway_length",
            "in": "query",
            "description": "Minimum runway length in feet.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results to return. Must be between 1 and 50. Default is 10.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10
            }
          },
          {
            "name": "units",
            "in": "query",
            "description": "Distance units. Default is km.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "km",
                "mi"
              ],
              "default": "km"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of nearby airports sorted by size (largest first) then by distance ascending.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClosestAirport"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "tags": [
          "Airports"
        ]
      }
    },
    "/v1/analytics": {
      "get": {
        "summary": "Get account analytics",
        "description": "Returns usage analytics and API call history for your own account, including which APIs you call most. Requires `api_key` as a query parameter. Calls here do not consume quota.",
        "operationId": "getAnalytics",
        "tags": [
          "Analytics"
        ],
        "parameters": [
          {
            "name": "api_key",
            "in": "query",
            "description": "Your API Key. This is passed as a query parameter instead of in the header for this endpoint.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsOpenapi_Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/animals": {
      "get": {
        "summary": "Retrieve information about animals",
        "description": "Returns scientific facts about animal species whose common name matches the search term, including partial matches. Requires `name`.",
        "operationId": "getAnimals",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "Common name of animal to search. This parameter supports partial matches.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200"
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "tags": [
          "Animals"
        ]
      }
    },
    "/v1/babynames": {
      "get": {
        "summary": "Retrieve baby names",
        "description": "Returns baby names, optionally filtered by `gender` (boy, girl or neutral). By default only popular names, the top 10%, are returned; set popular_only to false for the full pool.",
        "operationId": "getBabyNames",
        "parameters": [
          {
            "name": "gender",
            "in": "query",
            "description": "Baby name gender. Must be one of the following: boy, girl, neutral",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "boy",
                "girl",
                "neutral"
              ]
            }
          },
          {
            "name": "popular_only",
            "in": "query",
            "description": "Whether to only return popular (top 10%) of names. Must be either true or false. If unset, default is true.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BabyNames"
          },
          "400": {
            "$ref": "#/components/responses/BabyNamesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/BabyNamesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/BabyNamesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Baby Names"
        ]
      }
    },
    "/v1/balancesheet": {
      "get": {
        "tags": [
          "Balance Sheet"
        ],
        "summary": "Get balance sheet data for a specific company, period, and year",
        "description": "Returns balance sheet data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For which periods exist use /balancesheetavailability.",
        "operationId": "getBalanceSheet",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Fiscal period. Must be one of: q1, q2, q3, q4, or fy (full year). If set, year must also be set.",
            "schema": {
              "type": "string",
              "enum": [
                "q1",
                "q2",
                "q3",
                "q4",
                "fy"
              ]
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Fiscal year (e.g., 2025). Must be a valid year after 2000. Historical data before the previous year requires a premium subscription. If set, period must also be set.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceSheetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/balancesheetavailability": {
      "get": {
        "tags": [
          "Balance Sheet"
        ],
        "summary": "List which fiscal periods have balance sheet data for a company (premium)",
        "description": "Returns the fiscal years and quarters for which balance sheet data is available for a company. Requires a premium subscription (Developer tier and above).",
        "operationId": "getBalanceSheetAvailability",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceSheetAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/bankholidays": {
      "get": {
        "summary": "Get bank holidays for a given country and year.",
        "description": "Returns bank holidays for a country and calendar year, covering banking closures only. Requires a `country`. To test a single date use /isbankholiday.",
        "operationId": "getBankHolidays",
        "tags": [
          "Bank Holidays"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "Country name or ISO 3166-2 country code (preferred).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Calendar year between 1980 and 2050 (inclusive). Defaults to the current year. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of bank holiday entries for the specified country and year. Each entry contains the holiday name, date, day of the week, and country information.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BankHoliday"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/isbankholiday": {
      "get": {
        "summary": "Check if a specific date is a bank holiday for a given country.",
        "description": "Checks whether a given date is a bank holiday in a country. Requires `date` and `country`. For a whole year's calendar use /bankholidays.",
        "operationId": "isBankHoliday",
        "tags": [
          "Bank Holidays"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date in YYYY-MM-DD format (e.g. 2025-12-25). Note: dates in future calendar years are for premium subscribers only.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country name or ISO 3166-2 country code (preferred).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An object indicating whether the given date is a bank holiday in the specified country.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsBankHolidayResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/barcodegenerate": {
      "get": {
        "summary": "Generate a barcode",
        "description": "Generates a barcode image encoding `text`. Optional `type`, `format` and `include_text` control the symbology and output. Requires `text`.",
        "operationId": "generateBarcode",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/text"
          },
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/include_text"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BarcodeOpenapi_200"
          },
          "400": {
            "$ref": "#/components/responses/BarcodeOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/BarcodeOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/BarcodeOpenapi_500"
          }
        },
        "tags": [
          "Barcode"
        ]
      }
    },
    "/v2/bin": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Lookup bank information by BIN",
        "description": "Returns bank and issuer information for a Bank Identification Number. Requires a `bin`, typically the first 6-8 digits of a credit card number.",
        "operationId": "binLookup",
        "parameters": [
          {
            "name": "bin",
            "in": "query",
            "description": "The Bank Identification Number (BIN) to look up. This is typically the first 6-8 digits of a credit card number.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BINLookupItem"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BinOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/BinOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/BinOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/bitcoin": {
      "get": {
        "summary": "Get the latest Bitcoin price and market data",
        "description": "Returns the latest Bitcoin price and market data. Takes no parameters. For a price series over a past time range use /bitcoinhistorical.",
        "operationId": "getBitcoinData",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          }
        },
        "tags": [
          "Bitcoin"
        ]
      }
    },
    "/v1/bitcoinhistorical": {
      "get": {
        "summary": "Get historical Bitcoin price data",
        "description": "Returns historical Bitcoin price data over a chosen interval and Unix timestamp range. For the latest price instead use /bitcoin.",
        "operationId": "getBitcoinHistoricalData",
        "parameters": [
          {
            "name": "interval",
            "in": "query",
            "description": "Time interval between data points.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ],
              "default": "5m"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "Start timestamp in Unix format (in seconds).",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "End timestamp in Unix format (in seconds).",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of data points to return.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "maximum": 1000
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "timestamp": {
                        "type": "integer",
                        "description": "The timestamp of the price in Unix format (in seconds)."
                      },
                      "price": {
                        "type": "string",
                        "description": "The price of Bitcoin in USD."
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitcoinOpenapi_Error"
                }
              }
            }
          }
        },
        "tags": [
          "Bitcoin"
        ]
      }
    },
    "/v1/bitcointreasury": {
      "get": {
        "operationId": "getBitcoinTreasury",
        "summary": "Get SEC-reported bitcoin holdings of companies and ETFs",
        "description": "Bitcoin positions reported to the SEC in quarterly XBRL filings, covering operating companies and spot bitcoin exchange-traded products. Coverage is limited to SEC filers (holders listed only outside the US are not included), and each position is as of the filer's reported period end. For holdings in other crypto assets use /v1/cryptotreasury.",
        "tags": [
          "Bitcoin"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Stock ticker of the filer, e.g. MSTR. Private filers have no ticker; use cik.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC Central Index Key of the filer, with or without leading zeros.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Case-insensitive substring match on the filer name. Requires a Business or Professional subscription.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "required": false,
            "description": "OPERATING is a company holding crypto on its balance sheet. ETP is an exchange-traded product whose holdings are the fund itself. PRIVATE is a filer with no listed ticker.",
            "schema": {
              "type": "string",
              "enum": [
                "OPERATING",
                "ETP",
                "PRIVATE"
              ]
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Reporting period end as YYYY-MM-DD, or 'latest'. Defaults to the most recent period. History depth is limited by subscription tier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_unverified",
            "in": "query",
            "required": false,
            "description": "Include positions whose unit count does not reconcile with the filer's own reported fair value. Excluded by default; when included they are reproduced exactly as filed and carry a warning.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Capped by tier: 5 on Free, 50 on Developer, 250 on Business and Professional.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip, for pagination.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10000,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bsblookup": {
      "get": {
        "summary": "Get Australian Bank Branch Information by BSB Number",
        "description": "Looks up the bank, branch, address and supported payment systems for a 6-digit Australian BSB number. Requires `bsb`. To find a BSB by bank or location use /bsbsearch.",
        "operationId": "getBsbInfo",
        "tags": [
          "BSB"
        ],
        "parameters": [
          {
            "name": "bsb",
            "in": "query",
            "description": "The 6-digit Australian BSB number, with or without a hyphen (e.g. 062-000 or 062000).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/bsbsearch": {
      "get": {
        "summary": "Search for Australian Bank Branches and BSB Numbers",
        "description": "Finds Australian bank branches and their BSB numbers by bank name, suburb, state or postcode. To look up a single BSB number already known use /bsblookup.",
        "operationId": "searchBsb",
        "tags": [
          "BSB"
        ],
        "parameters": [
          {
            "name": "bank_name",
            "in": "query",
            "description": "Bank name to search for. At least one of bank_name, suburb, state, or postcode is required. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "suburb",
            "in": "query",
            "description": "Suburb to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "Australian state or territory code (e.g. NSW, VIC, QLD). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postcode",
            "in": "query",
            "description": "4-digit Australian postcode to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Available for annual subscriptions only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/bucketlist": {
      "get": {
        "summary": "Get a random bucket list idea",
        "description": "Returns one randomly chosen bucket list idea. Takes no parameters, so call it again for a different suggestion.",
        "operationId": "getBucketListItem",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BucketListItem"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/BucketListOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "tags": [
          "Bucket List"
        ]
      }
    },
    "/v1/caloriesburned": {
      "get": {
        "summary": "Calculate calories burned",
        "description": "Calculates calories burned from an activity, weight in pounds, and duration in minutes. Requires an `activity`. For valid names use /caloriesburnedactivities. Photorealistic image_url and transparent icon_url fields are returned only for paid subscriptions. All 249 supported activities have a consistent photorealistic image and transparent icon.",
        "operationId": "calculateCaloriesBurned",
        "parameters": [
          {
            "name": "activity",
            "in": "query",
            "required": true,
            "description": "Name of the given activity. This value can be partial.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "weight",
            "in": "query",
            "description": "Weight of the user performing the activity in pounds. Must be between 50 and 500. Default value is 160.",
            "schema": {
              "type": "integer",
              "default": 160,
              "minimum": 50,
              "maximum": 500
            }
          },
          {
            "name": "duration",
            "in": "query",
            "description": "How long the activity was performed in minutes. Must be 1 or greater. Default value is 60 (1 hour).",
            "schema": {
              "type": "integer",
              "default": 60,
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaloriesBurnedResponse"
                },
                "example": [
                  {
                    "name": "Running, 10 mph (6 min mile)",
                    "calories_per_hour": 1162,
                    "duration_minutes": 60,
                    "total_calories": 1162,
                    "image_url": "https://media.api-ninjas.com/activity_images/298a1f4fc68196e32526c99689d5c9aa62b9918dfbd600f86af2ec971b710fec.png",
                    "icon_url": "https://media.api-ninjas.com/activity_images/e99f715ce23fd73e5b79d2796b63b3f61eb5c9b991a0bd51aaa1e9a9bdfe8a5f.png"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Calories Burned"
        ]
      }
    },
    "/v1/caloriesburnedactivities": {
      "get": {
        "summary": "List all supported activities",
        "description": "Returns the names of all activities supported by the calories-burned calculation. To compute calories for one of them use /caloriesburned.",
        "operationId": "listActivities",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivitiesListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Calories Burned"
        ]
      }
    },
    "/v1/canadaroutingnumber": {
      "get": {
        "summary": "Get Canadian Bank Branch Information by Routing Number",
        "description": "Returns the Canadian bank branch for a 9-digit EFT `routing_number`, or for a `transit_number` plus `institution_number`. To search by name or location use /canadaroutingnumbersearch.",
        "operationId": "getCanadaRoutingNumberInfo",
        "tags": [
          "Canada Routing Number"
        ],
        "parameters": [
          {
            "name": "routing_number",
            "in": "query",
            "description": "The 9-digit Canadian routing number in EFT format (0AAATTTTT). At least one of routing_number, or both transit_number and institution_number together, must be set.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transit_number",
            "in": "query",
            "description": "The 5-digit branch transit number. Must be used together with institution_number.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "institution_number",
            "in": "query",
            "description": "The 3-digit financial institution number. Must be used together with transit_number.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CanadaRoutingNumberOpenapi_BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/canadaroutingnumbersearch": {
      "get": {
        "summary": "Search for Canadian Banks and Routing Numbers",
        "description": "Finds Canadian bank branches and their routing numbers by bank name, city, province or postal code. To decode a known routing number use /canadaroutingnumber. Requires a premium subscription.",
        "operationId": "searchCanadaRoutingNumbers",
        "tags": [
          "Canada Routing Number"
        ],
        "parameters": [
          {
            "name": "bank_name",
            "in": "query",
            "description": "Bank name to search for. At least one of bank_name, city, province, or postal_code is required. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "province",
            "in": "query",
            "description": "Two-letter province or territory code (e.g. ON, QC, BC). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postal_code",
            "in": "query",
            "description": "Postal code to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Available for annual subscriptions only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CanadaRoutingNumberOpenapi_BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/cars": {
      "get": {
        "summary": "Find cars, or fetch known cars by id. Always returns full specifications. Premium only.",
        "description": "The main endpoint. Search the whole catalogue by any combination of filters, or fetch cars you already know with id/ids. Every car is returned with its complete specification sheet attached, so no second call is needed. Each row also carries its own make, model, generation, body and engine context. At least one filter, or an id, is required. The total number of matches is returned in the X-Total-Count response header. Requires a paid plan (Premium).",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A car handle from a previous search, e.g. car_e71ff3416a. Safe to store: it is derived from the car's identity and survives data refreshes."
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated car handles, at most 50. Request order is preserved and a handle matching nothing is returned as null."
          },
          {
            "name": "make",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Manufacturer, as a word. Case and punctuation are ignored, so bmw, BMW and Bmw all resolve."
          },
          {
            "name": "model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Model, as a word. '3 Series', '3-series' and '3series' all resolve."
          },
          {
            "name": "generation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Generation, as a word, e.g. e90 or 'E90/E91/E92/E93'. Optional -- nothing requires going through a generation."
          },
          {
            "name": "chassis_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter to one chassis code, e.g. E91. Matches anything whose chassis_codes contains it."
          },
          {
            "name": "body",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Sedan",
                "Coupe",
                "Convertible",
                "Wagon",
                "Hatchback",
                "Liftback",
                "SUV",
                "MPV",
                "Van",
                "Pickup"
              ]
            },
            "description": "Body style. One of Sedan, Coupe, Convertible, Wagon, Hatchback, Liftback, SUV, MPV, Van, Pickup."
          },
          {
            "name": "doors",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 6
            },
            "description": "Number of doors."
          },
          {
            "name": "badge",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Model designation, e.g. 320d. Spacing and case are ignored."
          },
          {
            "name": "fuel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "gasoline",
                "diesel",
                "electric",
                "hybrid",
                "plugin_hybrid",
                "lpg",
                "cng",
                "hydrogen",
                "ethanol"
              ]
            },
            "description": "Fuel type."
          },
          {
            "name": "transmission",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "manual",
                "automatic",
                "cvt",
                "dual_clutch",
                "automated_manual",
                "single_speed"
              ]
            },
            "description": "Transmission type."
          },
          {
            "name": "drive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "fwd",
                "rwd",
                "awd",
                "4wd"
              ]
            },
            "description": "Driven wheels."
          },
          {
            "name": "cylinders",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20
            },
            "description": "Number of cylinders."
          },
          {
            "name": "engine_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Manufacturer engine code."
          },
          {
            "name": "min_power_hp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "description": "Minimum engine power in horsepower."
          },
          {
            "name": "max_power_hp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "description": "Maximum engine power in horsepower."
          },
          {
            "name": "min_year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Cars still in production in or after this year."
          },
          {
            "name": "max_year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Cars in production in or before this year."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Cars in production in this year. A filter, not a starting point."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "power_hp",
                "-power_hp",
                "year",
                "-year",
                "name",
                "make"
              ]
            },
            "description": "Sort order."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "description": "How many results to return, between 1 and 100. Default 10 -- each car carries a full specification sheet of roughly 2 KB. A value outside the range is rejected rather than silently clamped."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip, for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Car"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CarsOpenapi_Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "tags": [
          "Cars"
        ]
      }
    },
    "/v2/carfacets": {
      "get": {
        "summary": "Available values and counts for each dimension, given a selection.",
        "description": "Builds every dependent dropdown in one request instead of one request per level. Facets narrow with whatever is already selected. Available on every plan, including Free.",
        "parameters": [
          {
            "name": "facets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated dimensions to count, at most 6. One of: make, model, generation, chassis_code, body, doors, fuel, transmission, drive, cylinders, year, badge."
          },
          {
            "name": "make",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Manufacturer, as a word. Case and punctuation are ignored, so bmw, BMW and Bmw all resolve."
          },
          {
            "name": "model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Model, as a word. '3 Series', '3-series' and '3series' all resolve."
          },
          {
            "name": "generation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Generation, as a word."
          },
          {
            "name": "body",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Sedan",
                "Coupe",
                "Convertible",
                "Wagon",
                "Hatchback",
                "Liftback",
                "SUV",
                "MPV",
                "Van",
                "Pickup"
              ]
            },
            "description": "Body style."
          },
          {
            "name": "doors",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Number of doors."
          },
          {
            "name": "fuel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "gasoline",
                "diesel",
                "electric",
                "hybrid",
                "plugin_hybrid",
                "lpg",
                "cng",
                "hydrogen",
                "ethanol"
              ]
            },
            "description": "Fuel type."
          },
          {
            "name": "transmission",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "manual",
                "automatic",
                "cvt",
                "dual_clutch",
                "automated_manual",
                "single_speed"
              ]
            },
            "description": "Transmission type."
          },
          {
            "name": "drive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "fwd",
                "rwd",
                "awd",
                "4wd"
              ]
            },
            "description": "Driven wheels."
          },
          {
            "name": "cylinders",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Number of cylinders."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Cars in production in this year."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/FacetValue"
                    }
                  },
                  "description": "One entry per requested facet."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CarsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "tags": [
          "Cars"
        ]
      }
    },
    "/v2/carmakes": {
      "get": {
        "summary": "List manufacturers. Premium only.",
        "description": "Lists car manufacturers available in the catalogue. Use it to populate a make selector before calling /carmodels. Requires a paid plan (Premium).",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on the manufacturer name."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Only manufacturers with a car in production in this year."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 30
            },
            "description": "How many results to return, between 1 and 100. Default 30. A value outside that range is rejected rather than silently clamped."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip, for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Make"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CarsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "tags": [
          "Cars"
        ]
      }
    },
    "/v2/carmodels": {
      "get": {
        "summary": "List models for a manufacturer. Premium only.",
        "description": "Lists the models belonging to a given manufacturer. Pair with /carmakes upstream and /cargenerations downstream. Requires a paid plan (Premium).",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Manufacturer, as a word. Case and punctuation are ignored, so bmw, BMW and Bmw all resolve."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on the model name."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Only models with a car in production in this year."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 30
            },
            "description": "How many results to return, between 1 and 100. Default 30. A value outside that range is rejected rather than silently clamped."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip, for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Model"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CarsOpenapi_Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "tags": [
          "Cars"
        ]
      }
    },
    "/v2/cargenerations": {
      "get": {
        "summary": "List generations of a model, by chassis code where one exists. Business, Professional, or annual plans only.",
        "description": "The level most vehicle APIs do not expose. Optional: nothing downstream requires it. Generations with no cars are returned with car_count 0 so gaps are visible. Requires a Business or Professional plan, or any annual plan.",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Manufacturer, as a word. Case and punctuation are ignored, so bmw, BMW and Bmw all resolve."
          },
          {
            "name": "model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Model, as a word. '3 Series', '3-series' and '3series' all resolve."
          },
          {
            "name": "chassis_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter to one chassis code, e.g. E91. Matches anything whose chassis_codes contains it."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Only generations in production in this year."
          },
          {
            "name": "has_cars",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Set true to omit generations that have no cars."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 30
            },
            "description": "How many results to return, between 1 and 100. Default 30. A value outside that range is rejected rather than silently clamped."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip, for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Generation"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CarsOpenapi_Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "tags": [
          "Cars"
        ]
      }
    },
    "/v1/cashflow": {
      "get": {
        "tags": [
          "Cash Flow"
        ],
        "summary": "Get cash flow statement data for a specific company, period, and year",
        "description": "Returns cash flow statement data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For available periods use /cashflowavailability.",
        "operationId": "getCashFlow",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Fiscal period. Must be one of: q1, q2, q3, q4, or fy (full year). If set, year must also be set.",
            "schema": {
              "type": "string",
              "enum": [
                "q1",
                "q2",
                "q3",
                "q4",
                "fy"
              ]
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Fiscal year (e.g., 2025). Must be a valid year after 2000. Historical data before the previous year requires a premium subscription. If set, period must also be set.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashFlowResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/cashflowavailability": {
      "get": {
        "tags": [
          "Cash Flow"
        ],
        "summary": "List which fiscal periods have cash flow data for a company (premium)",
        "description": "Returns the fiscal years and quarters for which cash flow data is available for a company. Requires a premium subscription (Developer tier and above).",
        "operationId": "getCashFlowAvailability",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashFlowAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/cats": {
      "get": {
        "summary": "Get a list of cat breeds matching specified parameters.",
        "description": "Returns cat breeds matching the given parameters, including weight, life expectancy, shedding, grooming and friendliness traits. For breed names only use /allcats.",
        "operationId": "getCats",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of cat breed.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_weight",
            "in": "query",
            "description": "Minimum weight in pounds.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_weight",
            "in": "query",
            "description": "Maximum weight in pounds.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_life_expectancy",
            "in": "query",
            "description": "Minimum life expectancy in years.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_life_expectancy",
            "in": "query",
            "description": "Maximum life expectancy in years.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "shedding",
            "in": "query",
            "description": "How much hair the cat sheds.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "family_friendly",
            "in": "query",
            "description": "How affectionate the cat is to family.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "playfulness",
            "in": "query",
            "description": "How playful the cat is.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "grooming",
            "in": "query",
            "description": "How much work is required to properly groom the cat.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "other_pets_friendly",
            "in": "query",
            "description": "How well the cat gets along with other pets in the household.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "children_friendly",
            "in": "query",
            "description": "How well the cat gets along with children.",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5
              ]
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CatsOpenapi_200"
          },
          "400": {
            "$ref": "#/components/responses/CatsOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/CatsOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/CatsOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Cats by API Ninjas"
        ]
      }
    },
    "/v1/allcats": {
      "get": {
        "summary": "Returns a list of all cat breed names.",
        "description": "Returns the names of every cat breed in the database and nothing else. Takes no parameters. For full breed detail and filtering use /cats.",
        "operationId": "getAllCatNames",
        "responses": {
          "200": {
            "$ref": "#/components/responses/200Names"
          },
          "400": {
            "$ref": "#/components/responses/CatsOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/CatsOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/CatsOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Cats by API Ninjas"
        ]
      }
    },
    "/v1/celebrity": {
      "get": {
        "summary": "Get celebrity information",
        "description": "Returns celebrity records with net worth, profession, and birthday, filtered by name, net worth range, nationality, or height in meters.",
        "operationId": "getCelebrity",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of the celebrity you wish to search. This field is case-insensitive.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_net_worth",
            "in": "query",
            "description": "Minimum net worth of celebrities.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_net_worth",
            "in": "query",
            "description": "Maximum net worth of celebrities.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality of celebrities. Must be an ISO 3166 Alpha-2 country code (e.g. US).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_height",
            "in": "query",
            "description": "Minimum height of celebrities in meters (e.g. 1.65).",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "max_height",
            "in": "query",
            "description": "Maximum height of celebrities in meters (e.g. 1.80).",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Celebrity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Celebrity"
        ]
      }
    },
    "/v1/chucknorris": {
      "get": {
        "summary": "Get a Chuck Norris joke",
        "description": "Returns one random Chuck Norris joke. Takes no parameters. For jokes on other topics such as pop culture, science or history use /jokes.",
        "operationId": "getChuckNorrisJoke",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/JokeSuccess"
          },
          "400": {
            "$ref": "#/components/responses/ChuckNorrisOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/ChuckNorrisOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ChuckNorrisOpenapi_InternalServerError"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/safe"
          }
        ],
        "tags": [
          "Chuck Norris"
        ]
      }
    },
    "/v1/city": {
      "get": {
        "summary": "Get city data",
        "description": "Get city data from either a name or population range. Returns a list of cities that satisfies the parameters.",
        "operationId": "getCityData",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of city.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country filter. Must be an ISO-3166 alpha-2 country code (e.g. US).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_lat",
            "in": "query",
            "description": "Minimum latitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "max_lat",
            "in": "query",
            "description": "Maximum latitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "min_lon",
            "in": "query",
            "description": "Minimum longitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "max_lon",
            "in": "query",
            "description": "Maximum longitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "min_population",
            "in": "query",
            "description": "Minimum city population.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_population",
            "in": "query",
            "description": "Maximum city population.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 30. Default is 1. To get more than 30 results, use the offset parameter. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 30
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CityResponse"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "City"
        ]
      }
    },
    "/v1/cocktail": {
      "get": {
        "tags": [
          "Cocktail"
        ],
        "summary": "Search cocktail recipes",
        "description": "Searches cocktail recipes by name, with partial matches, or by a comma-separated ingredient list that returns only drinks containing every listed ingredient.",
        "operationId": "searchCocktails",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of cocktail. Supports partial matches.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ingredients",
            "in": "query",
            "description": "Comma-separated string of ingredients to search. Only cocktails containing all listed ingredients will be returned.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CocktailOpenapi_200"
          },
          "400": {
            "$ref": "#/components/responses/CocktailOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/CocktailOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/CocktailOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/commodityprice": {
      "get": {
        "summary": "Get current commodity price (single or batch)",
        "operationId": "getCurrentCommodityPrice",
        "description": "Returns the current price for a single commodity (when `name` is provided) or a list of commodities (when `names` is provided). Optional `currency` and `unit` parameters convert the response from the native USD/USX quote into any supported currency and unit.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Name of a single commodity. Mutually exclusive with `names`.",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "soybean_oil",
                "wheat",
                "platinum",
                "micro_silver",
                "lean_hogs",
                "corn",
                "oat",
                "aluminum",
                "soybean_meal",
                "silver",
                "soybean",
                "lumber",
                "live_cattle",
                "sugar",
                "natural_gas",
                "crude_oil",
                "orange_juice",
                "coffee",
                "cotton",
                "copper",
                "micro_gold",
                "feeder_cattle",
                "rough_rice",
                "palladium",
                "cocoa",
                "brent_crude_oil",
                "gasoline_rbob",
                "heating_oil",
                "class_3_milk"
              ]
            }
          },
          {
            "name": "names",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of commodity values for a batch request (max 30). Mutually exclusive with `name`. Available to Business, Professional, and Enterprise subscribers; other tiers should use the `name` parameter for single-commodity lookups.",
            "schema": {
              "type": "string",
              "example": "gold,silver,platinum"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert the price into (e.g., EUR, GBP, INR). When provided, USX prices are first normalized to USD before conversion. Defaults to the native USD/USX quote.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target mass/volume/energy unit to convert the price into (e.g., kg, g, lb, metric_ton, liter). Bushel and board_feet are commodity-specific and cannot be cross-converted.",
            "schema": {
              "type": "string",
              "example": "kg"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. A full CommodityPriceResponse object when called with `name`; when called with `names`, an array whose elements are reduced CommodityBatchPriceItem projections (or a BatchItemError for any individual commodity that failed).",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CommodityPriceResponse"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CommodityBatchPriceItem"
                          },
                          {
                            "$ref": "#/components/schemas/BatchItemError"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commodityspot": {
      "get": {
        "summary": "Get the current spot price of a commodity (single or batch)",
        "operationId": "getCommoditySpotPrice",
        "description": "Premium only. Returns the spot price (the price for immediate delivery) for commodities that have a spot market: gold, silver, platinum, and palladium (composite: blended live market quotes, with bid/ask) and WTI, Brent, natural gas, gasoline, and heating oil (assessed: the U.S. EIA official daily spot price). Other commodities have no public spot market and return an error pointing to /commodityprice.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "The commodity. crude_oil, brent_crude_oil, gasoline_rbob, and heating_oil also accept wti, brent, gasoline, and diesel.",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver",
                "platinum",
                "palladium",
                "crude_oil",
                "brent_crude_oil",
                "natural_gas",
                "gasoline_rbob",
                "heating_oil"
              ]
            }
          },
          {
            "name": "names",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of commodities for a batch request. Available to Business, Professional, and Enterprise subscribers only.",
            "schema": {
              "type": "string",
              "example": "gold,silver,natural_gas"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert prices into (e.g., EUR, GBP). Defaults to USD.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target unit, in the same dimension as the commodity's native unit (mass for metals, volume for oil, gasoline and heating oil, energy for natural gas).",
            "schema": {
              "type": "string",
              "example": "g"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. Object when called with name; array when called with names.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CommoditySpotResponse"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CommoditySpotResponse"
                          },
                          {
                            "$ref": "#/components/schemas/BatchItemError"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commoditypricehistorical": {
      "get": {
        "summary": "Get historical commodity prices",
        "description": "Returns a historical price series for a commodity over an optional Unix start/end range and interval. Requires a `name`. For the latest price use /commodityprice.",
        "operationId": "getHistoricalCommodityPrice",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "Name of commodity.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Time interval between data points.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ],
              "default": "1h"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Start timestamp in Unix format.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "description": "End timestamp in Unix format.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commoditysnapshot": {
      "get": {
        "summary": "Get current prices for all supported commodities in a single call",
        "operationId": "getCommoditySnapshot",
        "description": "Returns an enriched price object for all 30 supported commodities on every plan, including the free tier. Free responses carry the last completed daily settlement; premium plans return the live price. Optional filters narrow the result set.",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Filter to a single product category.",
            "schema": {
              "type": "string",
              "enum": [
                "precious_metals",
                "base_metals",
                "energy",
                "grains",
                "softs",
                "livestock"
              ]
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "Filter to commodities listed on a single exchange.",
            "schema": {
              "type": "string",
              "enum": [
                "CME",
                "NYMEX",
                "COMEX",
                "ICE"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommoditySnapshotItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commoditycontract": {
      "get": {
        "summary": "Get price information for a specific commodity contract",
        "operationId": "getCommodityContract",
        "description": "Returns price information for a specific commodity contract or all contracts matching a commodity root. Either symbol or symbol_root must be provided, but not both.",
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Specific contract symbol to look up (e.g., GCK26).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "symbol_root",
            "in": "query",
            "required": false,
            "description": "Commodity root to filter contracts (e.g., GC returns all contracts starting with GC like GCK26, GCM26, etc.).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommodityContractResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Either symbol or symbol_root must be provided, but not both."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - This endpoint is reserved for users on Business, Professional, or annual subscriptions only."
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commoditycontractlist": {
      "get": {
        "summary": "Get a list of all available commodity contracts",
        "operationId": "getCommodityContractList",
        "description": "Returns a list of all available commodity contracts with their symbols and commodity names. This endpoint is useful for discovering which contracts are available for querying.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommodityContractListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - This endpoint is reserved for users on Business, Professional, or annual subscriptions only."
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/commodityforwardcurve": {
      "get": {
        "summary": "Get the forward curve (all active contracts) for a commodity",
        "operationId": "getCommodityForwardCurve",
        "description": "Returns every active futures contract for the requested commodity, sorted by contract month, along with a contango/backwardation classification and 1-month and ~12-month percent slopes. Reserved for Business, Professional, and annual-subscription tiers.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "Commodity value. Same set as the `/commodityprice` `name` parameter.",
            "schema": {
              "type": "string",
              "example": "crude_oil"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommodityForwardCurveResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Unknown commodity name."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - Reserved for Business, Professional, or annual subscriptions."
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Commodity Price"
        ]
      }
    },
    "/v1/convertcurrency": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Converts an existing currency and amount into a new currency.",
        "description": "Converts an `amount` from one currency to another. Requires `have`, `want` and `amount`. For the raw rate without converting a figure use /exchangerate.",
        "operationId": "convertCurrency",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/have"
          },
          {
            "$ref": "#/components/parameters/want"
          },
          {
            "$ref": "#/components/parameters/amount"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertCurrencyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertCurrencyOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertCurrencyOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertCurrencyOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/counter": {
      "get": {
        "summary": "Fetch and possibly update a counter.",
        "description": "Fetches a stored integer counter by `id`, optionally incrementing it with `hit` or setting it to a given `value`. Using a new id creates a new counter.",
        "operationId": "getCounter",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "ID to specify the counter. Use a new id to create a new counter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hit",
            "in": "query",
            "required": false,
            "description": "Whether to increase the count by 1. If used, must be set to true.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "value",
            "in": "query",
            "required": false,
            "description": "Set the count to a specific integer value. Setting the value to 0 resets the counter.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CounterSuccess"
          },
          "400": {
            "$ref": "#/components/responses/CounterOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CounterOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/CounterOpenapi_InternalServerError"
          }
        },
        "tags": [
          "Counter"
        ]
      }
    },
    "/v1/allcountryflags": {
      "get": {
        "tags": [
          "Country Flag"
        ],
        "summary": "List flag URLs for all supported countries (premium only).",
        "description": "Returns flag image URLs for every supported country, territory and area. For one country's flag as a base64 SVG use /countryflag. Requires a premium subscription.",
        "operationId": "getAllCountryFlags",
        "responses": {
          "200": {
            "description": "Successful response: an array of country flag entries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryFlagResponse"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/CountryFlagOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/CountryFlagOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/countryflag": {
      "get": {
        "summary": "Get a country's flag as an SVG image in base64 format.",
        "description": "Returns one country's flag as a base64-encoded SVG image. Requires a 2-letter ISO-3166 alpha-2 `country` code. For URLs of all supported flags use /allcountryflags.",
        "operationId": "getCountryFlag",
        "tags": [
          "Country Flag"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "2-letter ISO-3166 alpha-2 country code (e.g. US, CA, FR). For countries in the United Kingdom, use GB for Great Britain, GB-ENG for England, GB-SCT for Scotland, GB-WLS for Wales, GB-NIR for Northern Ireland.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryFlagResponse"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CountryFlagOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CountryFlagOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/CountryFlagOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/allcountries": {
      "get": {
        "tags": [
          "Country"
        ],
        "summary": "List 2-letter ISO country codes for all supported countries (premium only).",
        "description": "Returns the 2-letter ISO codes of every supported country. For statistics about a specific country use /country. Requires a premium subscription.",
        "operationId": "getAllCountries",
        "responses": {
          "200": {
            "description": "Successful response: an array of 2-letter ISO-3166 alpha-2 country codes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": "US"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/country": {
      "get": {
        "summary": "Get country data from given parameters.",
        "description": "Returns geographic, demographic, and economic statistics for countries matching filters such as name, currency, GDP, population, area, or unemployment rate.",
        "operationId": "getCountryData",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Plain English name, 2-letter ISO-3166 alpha-2, or 3-letter ISO-3166 alpha-3 code of country.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "3-letter currency code of country (e.g. USD).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_gdp",
            "in": "query",
            "description": "Minimum gross domestic product (GDP) of country, in US Dollars.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_gdp",
            "in": "query",
            "description": "Maximum gross domestic product (GDP) of country, in US Dollars.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_population",
            "in": "query",
            "description": "Minimum population of country (in thousands).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_population",
            "in": "query",
            "description": "Maximum population of country (in thousands).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_area",
            "in": "query",
            "description": "Minimum surface area of country in km2.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_area",
            "in": "query",
            "description": "Maximum surface area of country in km2.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_unemployment",
            "in": "query",
            "description": "Minimum unemployment rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_unemployment",
            "in": "query",
            "description": "Maximum unemployment rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_gdp_growth",
            "in": "query",
            "description": "Minimum GDP growth rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_gdp_growth",
            "in": "query",
            "description": "Maximum GDP growth rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_infant_mortality",
            "in": "query",
            "description": "Minimum infant mortality rate per 1,000 live births.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_infant_mortality",
            "in": "query",
            "description": "Maximum infant mortality rate per 1,000 live births.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_fertility",
            "in": "query",
            "description": "Minimum fertility rate (average number of children per woman).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_fertility",
            "in": "query",
            "description": "Maximum fertility rate (average number of children per woman).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_urban_pop_rate",
            "in": "query",
            "description": "Minimum urban population rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_urban_pop_rate",
            "in": "query",
            "description": "Maximum urban population rate in %.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 30. Default is 5.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 5,
              "minimum": 1,
              "maximum": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of country statistics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Country"
        ]
      }
    },
    "/v1/county": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Get County Information",
        "description": "Returns details for one or more counties matching the input parameters.",
        "operationId": "getCounty",
        "parameters": [
          {
            "name": "county",
            "in": "query",
            "description": "Full name of the county to search.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zipcode",
            "in": "query",
            "description": "5-digit ZIP code to search.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "2-letter state code (case-insensitive).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to return. Must be between 1 and 30. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 30
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountyResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/CountyOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CountyOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/CountyOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/covid19": {
      "get": {
        "summary": "Get Covid-19 case count or death data.",
        "description": "Returns Covid-19 case counts or deaths by country, administrative region, or US county, as a series or a single-day snapshot. Either `date` or `country` must be set.",
        "operationId": "getCovidData",
        "tags": [
          "Covid-19"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date to retrieve single-day snapshot. Must be in the form of YYYY-MM-DD (e.g. 2022-01-01). Either date or country must be set.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country name (case insensitive). Either date or country must be set.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "Administrative region (also known as state or province in many countries) name (case insensitive). Must be used in conjunction with country. If not set, countries with data broken down by administrative regions will return separate data for each region.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "county",
            "in": "query",
            "description": "County name for US states (case insensitive). For United States data only. Must be used in conjunction with country (United States) and region (e.g. California).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of data to retrieve. Must be either cases or deaths. If not set, cases will be used by default.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "cases",
                "deaths"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Either a time series of Covid-19 case counts/deaths for a country/region or a single-day snapshot of every country in the world, returned as a list of data entries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CovidData"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/cryptopricehistorical": {
      "get": {
        "tags": [
          "Crypto Price"
        ],
        "summary": "Get historical OHLCV data for a cryptocurrency",
        "description": "Returns historical OHLCV candles for a cryptocurrency at a chosen interval and time range. Requires a `symbol` such as ETHUSDT. For the live price use /cryptoprice.",
        "operationId": "getCryptoPriceHistorical",
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Cryptocurrency symbol (e.g. ETHUSDT).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Time interval between data points. Default is 1h.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ],
              "default": "1h"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Start timestamp in Unix seconds. If omitted, the most recent `limit` data points are returned.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "description": "End timestamp in Unix seconds. Defaults to now.",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum number of data points to return. Default 100, maximum 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response: an array of OHLCV candles in descending order (most recent first).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CryptoPriceHistoricalCandle"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/cryptoprice": {
      "get": {
        "tags": [
          "Crypto Price"
        ],
        "summary": "Get current price of a cryptocurrency",
        "description": "Returns the current market price of a cryptocurrency. Requires a `symbol` such as ETHUSDT. For past prices and OHLCV candles use /cryptopricehistorical.",
        "operationId": "getCryptoPrice",
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Cryptocurrency symbol (e.g. ETHUSDT). To get the full list of available symbols, use the Crypto Symbols API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPriceOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/cryptotreasury": {
      "get": {
        "operationId": "getCryptoTreasury",
        "summary": "Get SEC-reported corporate crypto treasury holdings",
        "description": "Crypto asset positions reported to the SEC in quarterly XBRL filings. Coverage is limited to SEC filers (holders listed only outside the US are not included), and each position is as of the filer's reported period end. With no parameters, returns the largest current positions ranked by dollar value. Positions whose unit count does not reconcile with the filer's own fair value are excluded unless include_unverified is set.",
        "tags": [
          "Crypto Price"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Stock ticker of the filer, e.g. MSTR. Private filers have no ticker; use cik.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC Central Index Key of the filer, with or without leading zeros.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Case-insensitive substring match on the filer name. Requires a Business or Professional subscription.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset",
            "in": "query",
            "required": false,
            "description": "Restrict to one crypto asset. UNKNOWN returns positions whose asset the filing did not state and which could not be identified.",
            "schema": {
              "type": "string",
              "enum": [
                "BITCOIN",
                "ETHEREUM",
                "SOLANA",
                "XRP",
                "LITECOIN",
                "DOGECOIN",
                "CARDANO",
                "INJECTIVE",
                "CANTON",
                "STABLECOIN",
                "UNKNOWN"
              ]
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "required": false,
            "description": "OPERATING is a company holding crypto on its balance sheet. ETP is an exchange-traded product whose holdings are the fund itself. PRIVATE is a filer with no listed ticker.",
            "schema": {
              "type": "string",
              "enum": [
                "OPERATING",
                "ETP",
                "PRIVATE"
              ]
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Reporting period end as YYYY-MM-DD, or 'latest'. Defaults to the most recent period. History depth is limited by subscription tier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_unverified",
            "in": "query",
            "required": false,
            "description": "Include positions whose unit count does not reconcile with the filer's own reported fair value. Excluded by default; when included they are reproduced exactly as filed and carry a warning.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Capped by tier: 5 on Free, 50 on Developer, 250 on Business and Professional.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip, for pagination.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10000,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoTreasuryOpenapi_Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cryptosymbols": {
      "get": {
        "summary": "Retrieve cryptocurrency symbols",
        "description": "Returns the list of cryptocurrency ticker symbols available. Use it to find valid symbols before requesting quotes from the Crypto Price API.",
        "operationId": "getCryptoSymbols",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoSymbolsSuccess"
          },
          "400": {
            "$ref": "#/components/responses/CryptoSymbolsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/CryptoSymbolsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/CryptoSymbolsOpenapi_InternalServerError"
          }
        },
        "tags": [
          "Crypto Symbols"
        ]
      }
    },
    "/v1/currencyvolatility": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Latest realized volatility, volatility cone, and percentile context for a currency pair.",
        "description": "Returns the latest realised volatility for a currency `pair`, with optional `window`, `method` and annualisation. For a time series use /currencyvolatilityhistorical.",
        "operationId": "getCurrencyVolatility",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pair"
          },
          {
            "$ref": "#/components/parameters/window"
          },
          {
            "$ref": "#/components/parameters/method"
          },
          {
            "$ref": "#/components/parameters/dayCount"
          },
          {
            "$ref": "#/components/parameters/annualized"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/currencyvolatilityhistorical": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Historical time series of rolling volatility for a currency pair.",
        "description": "Returns a realised volatility time series for a currency `pair` across a date range or `days` lookback. For the latest single value use /currencyvolatility.",
        "operationId": "getCurrencyVolatilityHistorical",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pair"
          },
          {
            "$ref": "#/components/parameters/window"
          },
          {
            "$ref": "#/components/parameters/method"
          },
          {
            "$ref": "#/components/parameters/days"
          },
          {
            "$ref": "#/components/parameters/startDate"
          },
          {
            "$ref": "#/components/parameters/endDate"
          },
          {
            "$ref": "#/components/parameters/dayCount"
          },
          {
            "$ref": "#/components/parameters/annualized"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityHistoricalResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/currencyvolatilityforecast": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "EWMA and GARCH(1,1) volatility forecasts for a currency pair.",
        "description": "Projects forward volatility for a currency `pair` over a `horizon`, using EWMA or a comparable `method`. For realised values instead use /currencyvolatility.",
        "operationId": "getCurrencyVolatilityForecast",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pair"
          },
          {
            "$ref": "#/components/parameters/forecastMethod"
          },
          {
            "$ref": "#/components/parameters/lambda"
          },
          {
            "$ref": "#/components/parameters/horizon"
          },
          {
            "$ref": "#/components/parameters/dayCount"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityForecastResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyVolatilityOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/dadjokes": {
      "get": {
        "summary": "Get a random dad joke",
        "description": "Returns one or more random dad jokes. The `limit` parameter, which returns up to 100 jokes in a call, is available on premium plans only.",
        "operationId": "getDadJoke",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "How many jokes to return. Must be between 1 and 100. Default is 1. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100,
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DadJokeResponse"
          },
          "400": {
            "$ref": "#/components/responses/DadJokesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/DadJokesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/DadJokesOpenapi_InternalServerError"
          }
        },
        "tags": [
          "Dad Jokes"
        ]
      }
    },
    "/v1/dayinhistory": {
      "get": {
        "summary": "Get historical events for a specific date",
        "description": "Returns historical events that happened on a given `month` and `day`. Free requests cover today's date only; other dates plus `limit` and `offset` require premium.",
        "operationId": "getDayInHistory",
        "tags": [
          "Day in History"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "query",
            "description": "The month of the historical events to retrieve. Must be between 1 and 12. If specified, day must also be provided. If both are omitted, today's date is used. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12
            }
          },
          {
            "name": "day",
            "in": "query",
            "description": "The day of the month for the historical events to retrieve. Must be between 1 and 31. If specified, month must also be provided. If both are omitted, today's date is used. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 31
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of results to skip. Must be zero or a positive integer. Default is 0. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of results to return. Must be between 1 and 30. Default is 1. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 30,
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HistoricalEvent"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DayInHistoryOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DayInHistoryOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DayInHistoryOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/dictionary": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Look up word definition",
        "description": "Returns a string containing definitions for a given word.",
        "operationId": "getDefinition",
        "parameters": [
          {
            "name": "word",
            "in": "query",
            "description": "Word to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DictionaryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DictionaryOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DictionaryOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DictionaryOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/disposableemailchecker": {
      "get": {
        "summary": "Check if an email is from a disposable email provider",
        "description": "Checks whether an email address comes from a disposable or temporary email provider, for sign-up and fraud screening. Requires `email`.",
        "operationId": "checkDisposableEmail",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "The email address to check.",
            "schema": {
              "type": "string",
              "format": "email"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailCheckResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/DisposableEmailCheckerOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/DisposableEmailCheckerOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/DisposableEmailCheckerOpenapi_InternalServerError"
          }
        },
        "tags": [
          "Disposable Email Checker by API Ninjas"
        ]
      }
    },
    "/v1/dnslookup": {
      "get": {
        "summary": "Retrieve DNS records for a domain",
        "description": "Retrieves DNS records for a domain, covering the A, AAAA, CNAME, MX, NS, PTR, SRV, SOA, TXT and CAA record types. Requires `domain`.",
        "operationId": "getDNSRecords",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "description": "Valid domain to check (e.g. example.com). For top-level domains other than .com, a premium subscription is required.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of DNS records for the specified domain.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DNSRecord"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid or cannot be served."
          },
          "401": {
            "description": "Unauthorized - The request requires user authentication."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "tags": [
          "DNS Lookup"
        ]
      }
    },
    "/v1/dogs": {
      "get": {
        "summary": "Get a list of dog breeds matching specified parameters.",
        "description": "Returns dog breeds matching filters such as name, height, weight, life expectancy, shedding, barking, energy, or trainability. For breed names only use /alldogs.",
        "operationId": "getDogs",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of breed.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_height",
            "in": "query",
            "description": "Minimum height in inches.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_height",
            "in": "query",
            "description": "Maximum height in inches.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_weight",
            "in": "query",
            "description": "Minimum weight in pounds.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_weight",
            "in": "query",
            "description": "Maximum weight in pounds.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_life_expectancy",
            "in": "query",
            "description": "Minimum life expectancy in years.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_life_expectancy",
            "in": "query",
            "description": "Maximum life expectancy in years.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "shedding",
            "in": "query",
            "description": "How much hair the breed sheds.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          },
          {
            "name": "barking",
            "in": "query",
            "description": "How vocal the breed is.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          },
          {
            "name": "energy",
            "in": "query",
            "description": "How much energy the breed has.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          },
          {
            "name": "protectiveness",
            "in": "query",
            "description": "How likely the breed is to alert strangers.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          },
          {
            "name": "trainability",
            "in": "query",
            "description": "How easy it is to train the breed.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of dog breeds.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dog"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DogsOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DogsOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DogsOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Dogs"
        ]
      }
    },
    "/v1/alldogs": {
      "get": {
        "summary": "Returns a list of all dog breed names.",
        "description": "Returns the names of every dog breed in the database and no other fields. For breed traits and measurements such as height, weight, and shedding use /dogs.",
        "operationId": "getAllDogs",
        "responses": {
          "200": {
            "description": "A list of all dog breed names.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DogsOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DogsOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Dogs"
        ]
      }
    },
    "/v1/domain": {
      "get": {
        "tags": [
          "Domain"
        ],
        "summary": "Checks domain availability and retrieves basic registration information.",
        "description": "Checks whether a domain is available and returns basic registration information. Requires a `domain`; top-level domains other than .com need a premium subscription.",
        "operationId": "getDomainInfo",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "description": "Valid domain to check (e.g. example.com). For top-level domains other than .com, a premium subscription is required.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with domain information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid domain format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningscalendar": {
      "get": {
        "tags": [
          "Earnings Calendar"
        ],
        "summary": "Get earnings results and upcoming dates",
        "description": "Returns earnings reports for one company (`ticker`), one calendar date (`date`), or a date range (`date_start`/`date_end`). At least one of these is required, and `date` cannot be combined with a range. Covers 50,000+ tickers on US and international exchanges with history back to 2000. Results are sorted by date (newest first) and returned 50 per request; use `offset` to page. Past reports only by default; set `show_upcoming=true` (premium) to include scheduled future reports. EPS and revenue are in the company's reporting currency. `actual_eps`/`estimated_eps` are on the adjusted (non-GAAP) basis analysts use; `actual_eps_gaap` is GAAP diluted EPS from the SEC 10-Q/10-K (US SEC filers). For upcoming dates filtered by exchange use /upcomingearnings.",
        "operationId": "getEarningsCalendar",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company ticker symbol (e.g. MSFT, 7203.T). Returns that company's earnings reports, newest first."
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Single report date in YYYY-MM-DD format (e.g. 2026-07-30). Returns every company reporting on that date. Cannot be combined with date_start or date_end."
          },
          {
            "name": "date_start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start of a report-date range (YYYY-MM-DD, inclusive). If date_end is omitted, the range ends 7 days after date_start."
          },
          {
            "name": "date_end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End of a report-date range (YYYY-MM-DD, inclusive). Must be on or after date_start. If date_start is omitted, the range starts 7 days before date_end."
          },
          {
            "name": "show_upcoming",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            },
            "description": "Include scheduled future reports (dates after today). Without it only past and same-day reports are returned. Premium only: free-tier requests that pass this parameter are rejected."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip, for pagination. Each request returns up to 50 results, so use offset=50, 100, ... to page."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_200"
          },
          "400": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningscalendarlist": {
      "get": {
        "tags": [
          "Earnings Calendar"
        ],
        "summary": "Get a list of all available companies in the earnings calendar",
        "description": "Returns the list of companies covered by the earnings calendar. For a specific company's earnings results and reporting dates use /earningscalendar.",
        "operationId": "getEarningsCalendarList",
        "parameters": [],
        "responses": {
          "200": {
            "description": "A list of all available companies",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EarningsCalendarListResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/upcomingearnings": {
      "get": {
        "tags": [
          "Earnings Calendar"
        ],
        "summary": "Get upcoming earnings dates with filtering",
        "operationId": "getUpcomingEarnings",
        "description": "Returns a list of upcoming earnings dates with filtering capabilities. You can filter by date range, single date, exchange, or ticker symbol. Results are limited to dates from today onwards. Premium only.",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start date in YYYY-MM-DD format. Must be today or later. Defaults to today if not provided."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End date in YYYY-MM-DD format. Must be after start_date. Defaults to 10 years from today if not provided."
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Single date in YYYY-MM-DD format. If provided, overrides start_date and end_date to filter by this exact date."
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Exchange code to filter by (e.g., NASDAQ, NYSE, HKSE, LSE, TSX). Returns only earnings from companies listed on the specified exchange."
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Ticker symbol to filter by (e.g., AAPL, 0700.HK). Returns only earnings for that specific company."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 100
            },
            "description": "Maximum number of results to return. Must be between 1 and 100 (inclusive). Default is 100."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip for pagination. Must be a non-negative integer. Use in combination with limit to paginate through results."
          }
        ],
        "responses": {
          "200": {
            "description": "A list of upcoming earnings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpcomingEarningsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/EarningsCalendarOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningstranscript": {
      "get": {
        "summary": "Get Earnings Call Transcript",
        "description": "Returns the full text of one company's earnings call. Requires a `ticker` or `cik`; to find which calls exist first, use /earningstranscriptsearch. Choosing a `quarter` requires premium.",
        "operationId": "getEarningsTranscript",
        "tags": [
          "Earnings Call Transcript"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company ticker symbol (e.g., AAPL). Either ticker or cik must be provided."
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company Central Index Key (e.g., 320193). Either ticker or cik must be provided."
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 2000
            },
            "description": "Earnings year (e.g., 2025). Must be a valid year between 2000 and the current year. If provided, quarter must also be provided. Premium only."
          },
          {
            "name": "quarter",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "enum": [
                1,
                2,
                3,
                4
              ]
            },
            "description": "Earnings quarter from Q1 to Q4. If provided, year must also be provided. Premium only."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EarningsTranscriptResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningstranscriptlist": {
      "get": {
        "summary": "List All Earnings Call Transcripts",
        "description": "Lists all available earnings call transcripts, paged with `limit` and `offset`. To filter by ticker, CIK or date use /earningstranscriptsearch; for the text of one call use /earningstranscript.",
        "operationId": "listEarningsCallTranscripts",
        "tags": [
          "Earnings Call Transcript"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Number of results to return. Default is unlimited - all results will be returned."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip for pagination. Default: 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EarningsTranscriptsListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningstranscriptsearch": {
      "get": {
        "summary": "Search for available earnings call transcripts by ticker, CIK, date, or date range, with paginated results",
        "description": "Finds which earnings call transcripts are available by ticker, CIK, date or date range, with paginated results. Returns the matching calls, not their text; read that from /earningstranscript.",
        "operationId": "searchEarningsTranscripts",
        "tags": [
          "Earnings Call Transcript"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company ticker symbol (e.g., MSFT). At least one of ticker, cik, date, or start_date/end_date must be provided."
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company Central Index Key (e.g., 789019). For US companies registered with the SEC only."
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Earnings call date in YYYY-MM-DD format (e.g., 2024-05-02). Mutually exclusive with start_date/end_date."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Start of the earnings call date range (inclusive), YYYY-MM-DD. Must be paired with end_date. When ticker and cik are both omitted, the range cannot exceed 30 days."
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "End of the earnings call date range (inclusive), YYYY-MM-DD. Must be paired with start_date."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Maximum number of results to return. Default 20; values above 200 are clamped to 200."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            },
            "description": "Number of results to skip for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EarningsTranscriptSearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningstranscriptspeaker": {
      "get": {
        "summary": "Search earnings-call speakers, or get one speaker's profile and appearance history by id",
        "description": "Searches earnings-call speakers by name, company, analyst firm, role or type, or returns one speaker's profile, coverage and appearance history when `id` is given.",
        "operationId": "getEarningsCallSpeaker",
        "tags": [
          "Earnings Call Transcript"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Resolved speaker_id. When provided, the endpoint returns that single speaker's profile, per-company coverage, and appearance history (detail mode). Search filters are ignored in detail mode, except ticker/year/quarter (which filter the appearance list) and limit/offset (which paginate it)."
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Substring match on the speaker's name (search mode)."
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Substring match on an executive's primary company (search mode)."
          },
          {
            "name": "analyst_firm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Substring match on an analyst's firm (search mode)."
          },
          {
            "name": "role",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Substring match on role/title (search mode)."
          },
          {
            "name": "speaker_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "executive",
                "analyst"
              ]
            },
            "description": "Filter by speaker type (search mode)."
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "In search mode, restrict to people who appeared on this company's calls. In detail mode, filter the appearance list to this company."
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by fiscal year."
          },
          {
            "name": "quarter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "enum": [
                1,
                2,
                3,
                4
              ]
            },
            "description": "Filter by fiscal quarter (1-4). In search mode, requires year."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "appearance_count",
                "last_appearance_date",
                "name"
              ],
              "default": "appearance_count"
            },
            "description": "Sort field (search mode)."
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction (search mode). Defaults to desc, or asc when sort_by=name."
          },
          {
            "name": "include_appearances",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            },
            "description": "When true (search mode), include each returned speaker's appearance list."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Search mode: speakers per page (default 25, max 100). Detail mode: appearances per page (default 50, max 200)."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            },
            "description": "Number of results to skip for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "A speaker search result (no id) or a single speaker detail object (id provided).",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpeakerSearchResponse"
                    },
                    {
                      "$ref": "#/components/schemas/SpeakerDetailResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/earningstranscriptparticipants": {
      "get": {
        "summary": "List the executives and analysts who appeared on a company's earnings calls",
        "description": "Lists the executives and analysts who appeared on one company's earnings calls. Requires a `ticker` or `cik`. For a single person across companies use /earningstranscriptspeaker.",
        "operationId": "getEarningsCallParticipants",
        "tags": [
          "Earnings Call Transcript"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company ticker symbol (e.g. AAPL). Either ticker or cik must be provided."
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company Central Index Key (e.g. 320193). Either ticker or cik must be provided."
          },
          {
            "name": "speaker_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "executive",
                "analyst"
              ]
            },
            "description": "Restrict to the management roster (executive) or the covering analysts (analyst)."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "appearance_count",
                "last_appearance_date",
                "name"
              ],
              "default": "appearance_count"
            },
            "description": "Sort field."
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to desc, or asc when sort_by=name."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Maximum number of participants to return. Default 50; values above 200 are clamped to 200."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            },
            "description": "Number of results to skip for pagination. Default 0."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParticipantsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/earnings": {
      "get": {
        "tags": [
          "Earnings"
        ],
        "summary": "Get earnings report data (returns an array; query by company or by filing date)",
        "description": "Returns reported earnings results, filtered by `ticker`, `cik`, `year`, `quarter` or filing `date`. For dates of upcoming reports use /earningscalendar.",
        "operationId": "getEarnings",
        "parameters": [
          {
            "$ref": "#/components/parameters/ticker"
          },
          {
            "$ref": "#/components/parameters/cik"
          },
          {
            "$ref": "#/components/parameters/period"
          },
          {
            "$ref": "#/components/parameters/quarter"
          },
          {
            "$ref": "#/components/parameters/year"
          },
          {
            "$ref": "#/components/parameters/date"
          },
          {
            "$ref": "#/components/parameters/date_start"
          },
          {
            "$ref": "#/components/parameters/date_end"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EarningsResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/electricvehicle": {
      "get": {
        "tags": [
          "Electric Vehicle"
        ],
        "summary": "Get electric vehicle data by various parameters",
        "description": "Returns electric vehicle records with range, battery, charging, and performance data, filtered by make, model, year, or range. For maker names use /electricvehiclemakes.",
        "operationId": "getElectricVehicleData",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "description": "Vehicle manufacturer (e.g., tesla or nissan)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model",
            "in": "query",
            "description": "Vehicle model. Supports partial matching (e.g., 'Model' matches 'Model 3', 'Model Y', etc.).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_year",
            "in": "query",
            "description": "Minimum vehicle model year (e.g., 2020)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_year",
            "in": "query",
            "description": "Maximum vehicle model year (e.g., 2023)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_range",
            "in": "query",
            "description": "Minimum range in kilometers (e.g., 250)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_range",
            "in": "query",
            "description": "Maximum range in kilometers (e.g., 400)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 10. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 10
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to skip. Used for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of electric vehicles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ElectricVehicle"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/electricvehiclemakes": {
      "get": {
        "tags": [
          "Electric Vehicle"
        ],
        "summary": "Get a list of all electric vehicle manufacturers",
        "description": "Returns the list of electric vehicle manufacturers, optionally filtered by year. For the models of one manufacturer use /electricvehiclemodels.",
        "operationId": "getElectricVehicleMakes",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "description": "Filter manufacturers by year (e.g., 2023)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of electric vehicle manufacturers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/electricvehiclemodels": {
      "get": {
        "tags": [
          "Electric Vehicle"
        ],
        "summary": "Get all models for a specific manufacturer",
        "description": "Returns all electric vehicle models for one manufacturer, optionally filtered by year. Requires a `make`. For full vehicle specs use /electricvehicle.",
        "operationId": "getElectricVehicleModels",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "description": "Vehicle manufacturer (e.g., tesla)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Vehicle model year (e.g., 2023)",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of electric vehicle models for the specified make",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ElectricVehicleOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/embeddings": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Encode text to vector",
        "description": "Encodes any given text into a 768-dimensional vector using state-of-the-art NLP machine learning models.",
        "operationId": "encodeText",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "description": "Text to be encoded",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmbeddingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingsOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/emoji": {
      "get": {
        "tags": [
          "Entertainment"
        ],
        "summary": "Get Emojis",
        "description": "Returns a list of emojis according to input parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.",
        "operationId": "getEmojis",
        "parameters": [
          {
            "$ref": "#/components/parameters/name"
          },
          {
            "$ref": "#/components/parameters/code"
          },
          {
            "$ref": "#/components/parameters/group"
          },
          {
            "$ref": "#/components/parameters/subgroup"
          },
          {
            "$ref": "#/components/parameters/EmojiOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of emojis",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmojiResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/EmojiOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/EmojiOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/EmojiOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/etf": {
      "get": {
        "summary": "Get ETF Information",
        "description": "Returns holdings, expense ratio, assets under management and trailing total-return performance for one ETF. Look it up by `ticker`, or by `isin` to get the fund's most-traded listing. `listings` lists every exchange the same fund trades on. To find or enumerate ETFs use /etfsearch or /etflist.",
        "operationId": "getETFInfo",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ETF ticker symbol (e.g., QQQ, SPY, VTI), including any exchange suffix (e.g. EUNL.DE). Either ticker or isin is required, not both."
          },
          {
            "name": "isin",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "International Securities Identification Number of the ETF (e.g., IE00B5BMR087). An ISIN identifies the fund, which may trade on several exchanges: the most-traded listing fills the response and every listing is returned in `listings`. Either ticker or isin is required, not both."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ETFResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "ETF"
        ]
      }
    },
    "/v1/etflist": {
      "get": {
        "summary": "List Supported ETF Tickers",
        "description": "Returns ETF ticker symbols supported by the ETF API, paginated up to 1000 per call. Increment the offset parameter by 1000 until fewer than 1000 results are returned to walk the entire list. Available to Business, Professional, or annual subscribers only.",
        "operationId": "listETFs",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Number of results to skip for pagination. Page size is 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ETFListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — Business, Professional, or annual subscription required"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "ETF"
        ]
      }
    },
    "/v1/etfsearch": {
      "get": {
        "summary": "Search ETFs",
        "description": "Search for ETFs by AUM, expense ratio, holdings, or country. Results are sorted by AUM descending and paginated 50 per page. At least one filter parameter is required. Available to Business, Professional, or annual subscribers only.",
        "operationId": "searchETFs",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "min_aum",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Minimum assets under management in USD."
          },
          {
            "name": "max_aum",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Maximum assets under management in USD."
          },
          {
            "name": "min_expense_ratio",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Minimum annual expense ratio as a percentage (e.g. 0.1 for 0.1%)."
          },
          {
            "name": "max_expense_ratio",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Maximum annual expense ratio as a percentage."
          },
          {
            "name": "holdings",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of ticker symbols. Only ETFs that hold every listed ticker will be returned (AND match). Example: AAPL,MSFT."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by ISO listing-country code -- the exchange the ETF trades on (e.g. US, GB, JP), not the fund's domicile."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Number of results to skip for pagination. Page size is 50."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Array of up to 50 matching ETFs, sorted by USD AUM (descending).",
                  "items": {
                    "type": "object",
                    "properties": {
                      "symbol": {
                        "type": "string",
                        "description": "ETF ticker symbol."
                      },
                      "name": {
                        "type": "string",
                        "description": "ETF name."
                      },
                      "country": {
                        "type": "string",
                        "description": "ISO country code of the exchange the ETF is listed on. See domicile for the fund's legal home."
                      },
                      "domicile": {
                        "type": "string",
                        "description": "ISO country code of the fund's legal domicile, which can differ from where it trades."
                      },
                      "expense_ratio": {
                        "type": "number",
                        "description": "Annual expense ratio of the ETF as a percentage (e.g. 0.09 for 0.09%)."
                      },
                      "aum": {
                        "type": "number",
                        "description": "Assets under management of the ETF, in the fund's local trading currency (see aum_currency). Use aum_usd for a USD figure."
                      },
                      "aum_currency": {
                        "type": "string",
                        "description": "ISO 4217 currency code that aum is denominated in (e.g. USD, JPY, EUR)."
                      },
                      "aum_usd": {
                        "type": "number",
                        "nullable": true,
                        "description": "Assets under management converted to USD. Results are sorted by this field."
                      },
                      "num_holdings": {
                        "type": "integer",
                        "description": "Number of holdings in the ETF."
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — missing filters or subscription tier too low"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "ETF"
        ]
      }
    },
    "/v1/euribor": {
      "get": {
        "summary": "Get current Euribor rates for different maturities.",
        "description": "Returns current Euribor interbank lending rates for maturities from 1 week to 12 months. Takes no parameters.",
        "operationId": "getEuriborRates",
        "tags": [
          "Euribor"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "A list of current Euribor rates, one entry per maturity (1 week, 1 month, 3 months, 6 months, and 12 months).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EuriborRate"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/evcharger": {
      "get": {
        "summary": "Find electric vehicle charging stations",
        "description": "Get electric vehicle charging stations near a location specified by latitude and longitude coordinates.",
        "operationId": "getEVCharger",
        "parameters": [
          {
            "$ref": "#/components/parameters/lat"
          },
          {
            "$ref": "#/components/parameters/lon"
          },
          {
            "$ref": "#/components/parameters/distance"
          },
          {
            "$ref": "#/components/parameters/level"
          },
          {
            "$ref": "#/components/parameters/EvChargerOpenapi_limit"
          },
          {
            "$ref": "#/components/parameters/EvChargerOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of electric vehicle charging stations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EVChargerResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid request parameters."
          },
          "401": {
            "description": "Unauthorized. API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "EV Charger"
        ]
      }
    },
    "/v1/exchangerate": {
      "get": {
        "tags": [
          "Exchange Rate"
        ],
        "summary": "Get exchange rate for a given currency pair",
        "description": "Returns the current exchange rate for a currency `pair` such as USD_EUR. To convert a specific amount instead use /convertcurrency.",
        "operationId": "getExchangeRate",
        "parameters": [
          {
            "$ref": "#/components/parameters/ExchangeRateOpenapi_pair"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/exchangeratehistorical": {
      "get": {
        "tags": [
          "Exchange Rate"
        ],
        "summary": "Get daily historical exchange rates for a given currency pair",
        "description": "Returns daily historical exchange rates for a given currency pair. Data is available from 1999-01-01 onward. Provide either a single date or a start_date/end_date range (max 366 days). Premium subscription required.",
        "operationId": "getHistoricalExchangeRate",
        "parameters": [
          {
            "$ref": "#/components/parameters/ExchangeRateOpenapi_pair"
          },
          {
            "$ref": "#/components/parameters/ExchangeRateOpenapi_date"
          },
          {
            "$ref": "#/components/parameters/start_date"
          },
          {
            "$ref": "#/components/parameters/end_date"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalExchangeRateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/executivecompensation": {
      "get": {
        "summary": "Get executive compensation for a US public company",
        "operationId": "getExecutiveCompensation",
        "description": "Returns named-executive-officer compensation for a company, sourced from SEC DEF 14A proxy statements, plus the structured Pay Versus Performance disclosure. The free tier returns the CEO's total for the latest fiscal year; premium tiers unlock the full breakdown, all executives, historical years, and Pay Versus Performance.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "The stock ticker of the company (e.g., AAPL). Either ticker or name is required.",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "The company's SEC Central Index Key (CIK), with or without leading zeros (e.g., 320193 or 0000320193). An alternative to ticker.",
            "schema": {
              "type": "string",
              "example": "320193"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Company name to search for (e.g., apple), used when a ticker or cik is not provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "The 4-digit fiscal year to return. Each response covers a single year and defaults to the latest available year. Historical (non-latest) years require a paid (premium) plan; a year the company has no data for returns a no-data message.",
            "schema": {
              "type": "integer",
              "example": 2024
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutiveCompensationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Executive Compensation"
        ]
      }
    },
    "/v1/exercises": {
      "get": {
        "summary": "Get exercises",
        "description": "Returns up to 5 exercises that satisfy the given parameters.",
        "operationId": "getExercises",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of exercise. This value can be partial.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Exercise type.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "cardio",
                "olympic_weightlifting",
                "plyometrics",
                "powerlifting",
                "strength",
                "stretching",
                "strongman"
              ]
            }
          },
          {
            "name": "muscle",
            "in": "query",
            "description": "Muscle group targeted by the exercise.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "abdominals",
                "abductors",
                "adductors",
                "biceps",
                "calves",
                "chest",
                "forearms",
                "glutes",
                "hamstrings",
                "lats",
                "lower_back",
                "middle_back",
                "neck",
                "quadriceps",
                "traps",
                "triceps"
              ]
            }
          },
          {
            "name": "difficulty",
            "in": "query",
            "description": "Difficulty level of the exercise.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "beginner",
                "intermediate",
                "expert"
              ]
            }
          },
          {
            "name": "equipments",
            "in": "query",
            "description": "Equipment required for the exercise. Multiple equipments can be specified using comma separation (e.g. dumbbell,flat bench). This value can be partial.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExerciseList"
          },
          "400": {
            "$ref": "#/components/responses/ExercisesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/ExercisesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ExercisesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Exercises"
        ]
      }
    },
    "/v1/allexercises": {
      "get": {
        "summary": "Get all exercises for a muscle group",
        "description": "Returns a comprehensive list of exercises that target a specific muscle group. Available on Business, Professional, or annual subscriptions only.",
        "operationId": "getAllExercises",
        "parameters": [
          {
            "name": "muscle",
            "in": "query",
            "description": "Muscle group targeted by the exercise.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "abdominals",
                "abductors",
                "adductors",
                "biceps",
                "calves",
                "chest",
                "forearms",
                "glutes",
                "hamstrings",
                "lats",
                "lower_back",
                "middle_back",
                "neck",
                "quadriceps",
                "traps",
                "triceps"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results to return. Default is 10, maximum is 100.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 10,
              "maximum": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of exercise names.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/ExercisesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/ExercisesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ExercisesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Exercises"
        ]
      }
    },
    "/v1/facedetect": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Detect faces in an image",
        "description": "Runs computer-vision face detection on an image supplied in the POST request body and returns the faces found. Takes no query parameters.",
        "operationId": "detectFaces",
        "requestBody": {
          "description": "Image file containing faces. Must be either JPEG or PNG format.",
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "string",
                    "format": "binary",
                    "description": "Image file to be analyzed"
                  }
                },
                "required": [
                  "image"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list of detected faces",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaceDetectResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaceDetectOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaceDetectOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaceDetectOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/facts": {
      "get": {
        "summary": "Get Random Facts",
        "description": "Returns one or more random facts. Free users have access to 100 facts - premium users have access to over 125,000 facts.",
        "operationId": "getFacts",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 100. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "$ref": "#/components/parameters/FactsOpenapi_safe"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FactResponse"
          },
          "400": {
            "$ref": "#/components/responses/FactsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/FactsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/FactsOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Facts"
        ]
      }
    },
    "/v1/gdp": {
      "get": {
        "summary": "Get GDP data",
        "description": "Get GDP data from given parameters. Returns GDP statistics that satisfy the parameters.",
        "operationId": "getGDPData",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "Country name (case-insensitive) or 2-letter ISO-3166 alpha-2 code of the country. E.g. Canada or CA.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Year for which to retrieve GDP data.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with GDP data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GDPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid request format."
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - Problem fetching GDP data."
          }
        },
        "tags": [
          "GDP"
        ]
      }
    },
    "/v1/geocoding": {
      "get": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Get coordinates for a city, state, or US ZIP code",
        "description": "Converts a place name into latitude and longitude. Requires `city`; narrow with `state`, `country` or `zipcode`. For the reverse direction use /reversegeocoding.",
        "operationId": "getGeocoding",
        "parameters": [
          {
            "$ref": "#/components/parameters/city"
          },
          {
            "$ref": "#/components/parameters/state"
          },
          {
            "$ref": "#/components/parameters/country"
          },
          {
            "$ref": "#/components/parameters/zipcode"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/reversegeocoding": {
      "get": {
        "summary": "Convert latitude/longitude coordinates to city locations.",
        "description": "Converts a `lat` and `lon` pair into the matching place name and administrative area. For the opposite direction use /geocoding.",
        "operationId": "getReverseGeocoding",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Latitude"
          },
          {
            "$ref": "#/components/parameters/Longitude"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of cities that contain the given latitude and longitude.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseGeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Geocoding"
        ]
      }
    },
    "/v1/goldprice": {
      "get": {
        "summary": "Get current gold futures price",
        "description": "Returns the current gold futures price in USD. Free responses carry the last completed daily settlement; premium plans return the live price.",
        "operationId": "getCurrentGoldPrice",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert the price into (e.g., EUR, GBP, INR). Defaults to USD.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target unit to convert the price into. Defaults to troy_ounce.",
            "schema": {
              "type": "string",
              "enum": [
                "troy_ounce",
                "g",
                "kg",
                "oz",
                "lb",
                "metric_ton",
                "short_ton",
                "hundredweight"
              ],
              "default": "troy_ounce"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoldPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Gold Price"
        ]
      }
    },
    "/v1/goldspot": {
      "get": {
        "summary": "Get the current gold spot price",
        "operationId": "getGoldSpotPrice",
        "description": "Premium only. Returns the gold spot price (XAU/USD) with bid and ask, blended from multiple live market quotes.",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert the price into (e.g., EUR, GBP, INR). Defaults to USD.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target unit to convert the price into. Defaults to troy_ounce.",
            "schema": {
              "type": "string",
              "enum": [
                "troy_ounce",
                "g",
                "kg",
                "oz",
                "lb",
                "metric_ton",
                "short_ton",
                "hundredweight"
              ],
              "default": "troy_ounce"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoldSpotResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Gold Price"
        ]
      }
    },
    "/v1/goldpricehistorical": {
      "get": {
        "summary": "Get historical gold futures price data",
        "description": "Returns historical gold futures price data in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first), and all prices are in USD. Premium subscribers only.",
        "operationId": "getHistoricalGoldPrice",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "description": "Time interval between data points. Valid values are: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Default is 1h.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ],
              "default": "1h"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "Start timestamp in Unix format. If not provided, defaults to 24 hours ago.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "End timestamp in Unix format. If not provided, defaults to current time.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalGoldPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Gold Price"
        ]
      }
    },
    "/v1/helicopter": {
      "get": {
        "summary": "Get helicopter data",
        "description": "Returns technical specifications for helicopter models, filtered by manufacturer, model, or ranges of air speed, range, length, and height.",
        "operationId": "getHelicopterData",
        "tags": [
          "Helicopter"
        ],
        "parameters": [
          {
            "name": "manufacturer",
            "in": "query",
            "description": "Company that designed and built the helicopter.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model",
            "in": "query",
            "description": "Helicopter model name.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_speed",
            "in": "query",
            "description": "Minimum max. air speed in knots.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_speed",
            "in": "query",
            "description": "Maximum max. air speed in knots.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_range",
            "in": "query",
            "description": "Minimum range of the helicopter in nautical miles.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_range",
            "in": "query",
            "description": "Maximum range of the helicopter in nautical miles.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_length",
            "in": "query",
            "description": "Minimum length of the helicopter in feet.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_length",
            "in": "query",
            "description": "Maximum length of the helicopter in feet.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_height",
            "in": "query",
            "description": "Minimum height of the helicopter in feet.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_height",
            "in": "query",
            "description": "Maximum height of the helicopter in feet.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 30. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Helicopter"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HelicopterOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HelicopterOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HelicopterOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/historicalevents": {
      "get": {
        "summary": "Search for historical events",
        "description": "Searches famous events in history by keyword `text` and/or `year`, `month` and `day`; negative years mean BC. Pagination with `offset` requires premium.",
        "operationId": "getHistoricalEvents",
        "tags": [
          "Miscellaneous"
        ],
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "description": "Query text to search events by. Use keywords or short phrases for best match results.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "4-digit year (e.g. 1776). For BC/BCE years, use a negative integer (e.g. -351 for 351 BC).",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "month",
            "in": "query",
            "description": "Integer month (e.g. 3 for March).",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12
            }
          },
          {
            "name": "day",
            "in": "query",
            "description": "Calendar day of the month.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 31
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset pagination. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of historical events.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HistoricalEventsOpenapi_HistoricalEvent"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalEventsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalEventsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalEventsOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/historicalfigures": {
      "get": {
        "tags": [
          "Miscellaneous"
        ],
        "summary": "Search for historical figures",
        "description": "Searches notable people from history, ancient to modern, by name with partial matches supported, and returns their records. Requires `name`.",
        "operationId": "searchHistoricalFigures",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of the person to search. Includes partial results (e.g. 'julius' will match Julius Caesar).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset pagination.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HistoricalFigure"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/hobbies": {
      "get": {
        "summary": "Get a random hobby",
        "description": "Returns a random hobby suggestion, optionally restricted to a `category` such as general, sports_and_outdoors or education.",
        "operationId": "getHobby",
        "tags": [
          "Hobbies"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/categoryQuery"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HobbyResponse"
          },
          "400": {
            "$ref": "#/components/responses/HobbiesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/HobbiesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/HobbiesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/holidays": {
      "get": {
        "summary": "Get holidays for a given country and year.",
        "description": "Returns holidays for a country and calendar year, optionally filtered by holiday type. Requires a `country`. For holidays falling on one date use /v1/isholiday.",
        "operationId": "getHolidays",
        "tags": [
          "Holidays"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "Country name or ISO 3166-2 country code (preferred).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Calendar year between 2005 and 2039 (inclusive). Default is the current year. Note: not all countries are guaranteed to contain data going back to 2005.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 2025
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter results to a single holiday type. Accepts one of the enumerated values, e.g. `public_holiday` for nationally mandated days off. Omit to return every type.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "public_holiday",
                "state_holiday",
                "local_holiday",
                "province_territory_holiday",
                "de_facto_holiday",
                "substitute_holiday",
                "bank_holiday",
                "government_holiday",
                "private_sector_holiday",
                "optional_holiday",
                "restricted_trading_day",
                "christian_holiday",
                "orthodox_holiday",
                "muslim_holiday",
                "jewish_holiday",
                "hindu_holiday",
                "observance",
                "united_nations_observance",
                "flag_day",
                "silent_day",
                "half_day",
                "working_day",
                "season",
                "clock_change",
                "sporting_event"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of holiday entries for the specified country and year.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Holiday"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/isholiday": {
      "get": {
        "summary": "Get all holidays that fall on a given date.",
        "description": "Returns all holidays that fall on a given date, optionally restricted to one country. Requires a `date`. For a full year's calendar use /v2/holidays.",
        "operationId": "isHoliday",
        "tags": [
          "Holidays"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date in YYYY-MM-DD format (e.g. 2025-12-25). Note: dates in future calendar years are for premium subscribers only.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country name or ISO 3166-2 country code (preferred). If not specified, holidays from all countries are returned.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of holiday entries matching the specified date.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Holiday"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request was invalid, details are provided in the error message."
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - We had a problem with our server. Try again later."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/horoscope": {
      "get": {
        "tags": [
          "Entertainment"
        ],
        "summary": "Get daily horoscope for a specific zodiac sign",
        "description": "Returns the daily horoscope for one zodiac sign. An optional `date` in YYYY-MM-DD format gives a past day's horoscope; future dates are not accepted.",
        "operationId": "getHoroscope",
        "parameters": [
          {
            "$ref": "#/components/parameters/zodiac"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "The date for the horoscope in YYYY-MM-DD format. The date must be either current or in the past. It cannot be in the future. If not provided, returns the horoscope for today's date. Premium only."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoroscopeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoroscopeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoroscopeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoroscopeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/hospitals": {
      "get": {
        "summary": "Get hospital data based on given parameters",
        "description": "Returns US hospitals matching a name, city, state, ZIP code, county or latitude/longitude bounding box, with location, contact information and bed count.",
        "operationId": "getHospitals",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of the hospital to search for. Supports partial matching.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City where the hospital is located.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "State where the hospital is located.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zipcode",
            "in": "query",
            "description": "ZIP code of the hospital location.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "county",
            "in": "query",
            "description": "County where the hospital is located.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_latitude",
            "in": "query",
            "description": "Minimum latitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "max_latitude",
            "in": "query",
            "description": "Maximum latitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "min_longitude",
            "in": "query",
            "description": "Minimum longitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "max_longitude",
            "in": "query",
            "description": "Maximum longitude coordinate.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to return. Default is 5. Maximum is 100.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 5,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to skip. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HospitalList"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Hospitals"
        ]
      }
    },
    "/v1/iban": {
      "get": {
        "summary": "Look up and validate an IBAN",
        "description": "Validates an International Bank Account Number and returns the bank and account details encoded in it. Requires an `iban`.",
        "operationId": "getIBAN",
        "tags": [
          "IBAN"
        ],
        "parameters": [
          {
            "name": "iban",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The IBAN to look up."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IBANResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IbanOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IbanOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IbanOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/imagetotext": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Extracts text from an image",
        "description": "Given an input image, return all detected texts and their bounding boxes.",
        "operationId": "extractTextFromImage",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "description": "Image to extract text from",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ImageToTextRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response with extracted text data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageToTextResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageToTextOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageToTextOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageToTextOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incomestatement": {
      "get": {
        "tags": [
          "Income Statement"
        ],
        "summary": "Get income statement data for a specific company, period, and year",
        "description": "Returns income statement data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For available periods use /incomestatementavailability.",
        "operationId": "getIncomeStatement",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Fiscal period. Must be one of: q1, q2, q3, q4, or fy (full year). If set, year must also be set.",
            "schema": {
              "type": "string",
              "enum": [
                "q1",
                "q2",
                "q3",
                "q4",
                "fy"
              ]
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Fiscal year (e.g., 2025). Must be a valid year after 2000. Historical data before the previous year requires a premium subscription. If set, period must also be set.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncomeStatementResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/incomestatementavailability": {
      "get": {
        "tags": [
          "Income Statement"
        ],
        "summary": "List which fiscal periods have income statement data for a company (premium)",
        "description": "Returns the fiscal years and quarters for which income statement data is available for a company. Requires a premium subscription (Developer tier and above).",
        "operationId": "getIncomeStatementAvailability",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol (e.g., ADBE). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Company Central Index Key (e.g., 796343). Either ticker or cik must be provided.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncomeStatementAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/incometaxcalculator": {
      "get": {
        "tags": [
          "Income Tax Calculator"
        ],
        "summary": "Calculates detailed tax information based on income, location, and filing status.",
        "description": "Calculates income tax for the United States or Canada from income, location, and filing status, including state or provincial tax. Requires `country`, `region`, `income`.",
        "operationId": "calculateIncomeTax",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "2-letter country code (e.g., US, CA)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "State/province code (e.g., CA, NY, ON)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "income",
            "in": "query",
            "description": "Annual income amount",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filing_status",
            "in": "query",
            "description": "Tax filing status. Possible values: single, married (married filing jointly), married_separate (married filing separately), or head_of_household",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "single",
                "married",
                "married_separate",
                "head_of_household"
              ]
            }
          },
          {
            "name": "deductions",
            "in": "query",
            "description": "Total tax deductions amount",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "credits",
            "in": "query",
            "description": "Total tax credits amount",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "self_employed",
            "in": "query",
            "description": "Set to true for self-employed tax calculations (US only)",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "tax_year",
            "in": "query",
            "description": "Tax year in YYYY format (e.g., 2024). If not specified, the latest year will be used.",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncomeTaxResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/incometax": {
      "get": {
        "summary": "Retrieve income tax information",
        "description": "Returns comprehensive income tax information including tax brackets and rates at both federal and state/provincial levels (where applicable).",
        "operationId": "getIncomeTax",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "2-letter country code (e.g., US, CA)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "The tax year for which to retrieve data",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "regions",
            "in": "query",
            "description": "Comma-separated list of regions to filter the response. For United States, specify 2-letter state codes (e.g., AL, CA, NY) or federal for federal tax information only. For Canada, specify 2-letter provincial codes (e.g., ON, BC, QC) or federal for federal tax information only. Multiple regions can be specified (e.g., federal,AL,CA,NY). When specified, filters the response to only include tax information for those regions. If unset, the response will include all regions (federal and all states/provinces).",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncomeTaxOpenapi_IncomeTaxResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Income Tax"
        ]
      }
    },
    "/v1/inflation": {
      "get": {
        "tags": [
          "Inflation"
        ],
        "summary": "Get current inflation data",
        "description": "Returns current monthly and annual inflation percentages. Premium subscribers only.",
        "operationId": "getCurrentInflation",
        "parameters": [
          {
            "$ref": "#/components/parameters/Country"
          },
          {
            "$ref": "#/components/parameters/Type"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/inflationhistorical": {
      "get": {
        "tags": [
          "Inflation"
        ],
        "summary": "Get historical inflation rates",
        "description": "Returns historical inflation rates for a given country and (optionally) time range. The maximum number of data points returned per API call is 100. Premium subscribers only.",
        "operationId": "getHistoricalInflation",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Either the 2-letter country code (ISO-3166-1 alpha-2) or the country name (case-insensitive)."
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Start time for the data range, specified as a UNIX timestamp in seconds."
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "End time for the data range, specified as a UNIX timestamp in seconds."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CPI",
                "HICP"
              ]
            },
            "description": "Inflation indicator type. Can be either CPI (Consumer Price Index) or HICP (Harmonized Index of Consumer Prices). If not provided, the CPI will be used by default."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalInflationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InflationOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/insidertransactions": {
      "get": {
        "tags": [
          "Insider Transactions"
        ],
        "summary": "Get insider trading transactions",
        "description": "Returns a list of insider trading transactions that match the specified filters. Returns at most 100 results per request. For more results, use the offset parameter.",
        "operationId": "getInsiderTransactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_ticker"
          },
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_cik"
          },
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_name"
          },
          {
            "$ref": "#/components/parameters/form_type"
          },
          {
            "$ref": "#/components/parameters/transaction_type"
          },
          {
            "$ref": "#/components/parameters/transaction_code"
          },
          {
            "$ref": "#/components/parameters/transaction_date"
          },
          {
            "$ref": "#/components/parameters/min_transaction_date"
          },
          {
            "$ref": "#/components/parameters/max_transaction_date"
          },
          {
            "$ref": "#/components/parameters/insider_type"
          },
          {
            "$ref": "#/components/parameters/min_transaction_value"
          },
          {
            "$ref": "#/components/parameters/max_transaction_value"
          },
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_limit"
          },
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InsiderTransaction"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/insiderdetails": {
      "get": {
        "tags": [
          "Insider Transactions"
        ],
        "summary": "Get detailed transaction information for a given insider",
        "description": "Returns detailed transaction information for a given insider with optional filtering by company. Returns a maximum of 10 transactions, ordered by filing date (most recent first). Premium subscriptions only.",
        "operationId": "getInsiderDetails",
        "parameters": [
          {
            "$ref": "#/components/parameters/name_required"
          },
          {
            "$ref": "#/components/parameters/company_ticker"
          },
          {
            "$ref": "#/components/parameters/company_cik"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/insiderslist": {
      "get": {
        "tags": [
          "Insider Transactions"
        ],
        "summary": "Get list of insiders for a company",
        "description": "Returns a list of all insiders for a given company (via ticker or CIK). For each insider, returns their name, position, and current share holdings based on their most recent filing. Either ticker or CIK is required. Premium subscriptions only.",
        "operationId": "getInsidersList",
        "parameters": [
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_ticker"
          },
          {
            "$ref": "#/components/parameters/InsiderTradingOpenapi_cik"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InsiderListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsiderTradingOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/institutionalholdings": {
      "get": {
        "tags": [
          "Institutional Holdings"
        ],
        "summary": "Get the full 13F portfolio of an institutional manager for a quarter",
        "description": "Returns an institutional manager's full 13F portfolio for a quarter. Requires `cik` or `manager_name`. For every holder of a single stock use /institutionalownership.",
        "operationId": "getInstitutionalHoldings",
        "parameters": [
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Manager SEC Central Index Key (e.g. 1067983). Either cik or manager_name is required.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "manager_name",
            "in": "query",
            "required": false,
            "description": "Exact manager name (alternative to cik).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Quarter-end date (YYYY-MM-DD). Defaults to the latest quarter; free tier is limited to the most recent quarter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter the portfolio to a single holding by ticker.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cusip",
            "in": "query",
            "required": false,
            "description": "Filter the portfolio to a single holding by CUSIP.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "put_call",
            "in": "query",
            "required": false,
            "description": "put or call to filter option positions.",
            "schema": {
              "type": "string",
              "enum": [
                "put",
                "call"
              ]
            }
          },
          {
            "name": "min_value",
            "in": "query",
            "required": false,
            "description": "Minimum reported market value (USD).",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_value",
            "in": "query",
            "required": false,
            "description": "Maximum reported market value (USD).",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort order: value (default), shares, percent_of_portfolio, or issuer_name.",
            "schema": {
              "type": "string",
              "enum": [
                "value",
                "shares",
                "percent_of_portfolio",
                "issuer_name"
              ]
            }
          },
          {
            "name": "change_type",
            "in": "query",
            "required": false,
            "description": "Comma-separated quarter-over-quarter filter: new, sold_out, increased, decreased, unchanged. Business/Professional/annual plans only. Premium only.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_by",
            "in": "query",
            "required": false,
            "description": "sector for a sector-allocation rollup. Business/Professional/annual plans only. Premium only.",
            "schema": {
              "type": "string",
              "enum": [
                "sector"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Default 50, max 1000.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip for pagination.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstitutionalHolding"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/institutionalownership": {
      "get": {
        "tags": [
          "Institutional Holdings"
        ],
        "summary": "Get every institution holding a given stock for a quarter",
        "description": "Lists every institution holding a given stock in a quarter. Requires `ticker` or `cusip`. For one manager's entire portfolio use /institutionalholdings.",
        "operationId": "getInstitutionalOwnership",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol (e.g. AAPL). Either ticker or cusip is required.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cusip",
            "in": "query",
            "required": false,
            "description": "9-character CUSIP (alternative to ticker).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Quarter-end date (YYYY-MM-DD). Defaults to the latest; free tier is limited to the most recent quarter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "summary",
            "in": "query",
            "required": false,
            "description": "true returns the ownership-concentration aggregate instead of the holder list. Business/Professional/annual plans only. Premium only.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "put_call",
            "in": "query",
            "required": false,
            "description": "put or call; long positions are returned by default.",
            "schema": {
              "type": "string",
              "enum": [
                "put",
                "call"
              ]
            }
          },
          {
            "name": "min_value",
            "in": "query",
            "required": false,
            "description": "Minimum market value (USD).",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_shares",
            "in": "query",
            "required": false,
            "description": "Minimum shares held.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort order: value (default), shares, or manager_name.",
            "schema": {
              "type": "string",
              "enum": [
                "value",
                "shares",
                "manager_name"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Default 50, max 1000.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip for pagination.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. A JSON array of holder records by default, or a single ownership-concentration aggregate object when summary=true.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstitutionalOwnershipHolder"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/InstitutionalOwnershipSummary"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/institutionalinvestors": {
      "get": {
        "tags": [
          "Institutional Holdings"
        ],
        "summary": "Search 13F institutions and their filing history (Premium only)",
        "description": "Searches the directory of 13F-filing institutions by name, CIK or quarter and returns their filing history rather than positions. Requires a premium subscription.",
        "operationId": "getInstitutionalInvestors",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Substring search of institution names; returns directory records.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Returns that institution's filing history - one record per quarter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Quarter-end date (YYYY-MM-DD); returns every institution that filed for that quarter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period_list",
            "in": "query",
            "required": false,
            "description": "true enumerates the available quarters with filing counts.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Default 50, max 1000.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip for pagination.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. Directory records when searching by name, filing records by cik or period, or quarter records with period_list=true.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/InstitutionalInvestorDirectoryRecord"
                      },
                      {
                        "$ref": "#/components/schemas/InstitutionalInvestorFilingRecord"
                      },
                      {
                        "$ref": "#/components/schemas/InstitutionalInvestorQuarterRecord"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/institutionalmovers": {
      "get": {
        "tags": [
          "Institutional Holdings"
        ],
        "summary": "Get the biggest institutional buys and exits per quarter (Premium only)",
        "description": "Ranks the largest institutional new buys, exits, adds or trims for a quarter, market-wide or within one institution. Requires a premium subscription.",
        "operationId": "getInstitutionalMovers",
        "parameters": [
          {
            "name": "mover_type",
            "in": "query",
            "required": false,
            "description": "new_buys (default), exits, adds, or trims.",
            "schema": {
              "type": "string",
              "enum": [
                "new_buys",
                "exits",
                "adds",
                "trims"
              ]
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Quarter-end date (YYYY-MM-DD); defaults to the latest quarter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Rank the moves within a single institution instead of market-wide.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of ranked rows to return. Default 50, max 1000.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. A ranked JSON array of market-wide leaderboard rows, or per-position rows for a single institution when cik is supplied.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/InstitutionalMoverMarketRecord"
                      },
                      {
                        "$ref": "#/components/schemas/InstitutionalMoverManagerRecord"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/interestrate": {
      "get": {
        "summary": "Get current interest rates",
        "description": "Returns the latest published value of a central bank or benchmark `rate`. For the full history of that rate use /historicalinterestrates.",
        "operationId": "getCurrentInterestRates",
        "tags": [
          "Interest Rate"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/rate"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterestRateResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/interestratehistorical": {
      "get": {
        "summary": "Get historical interest rates",
        "description": "Returns the published history of a benchmark `rate` over an optional date range, given as `start_date`/`end_date` (YYYY-MM-DD) or `start_time`/`end_time` (UNIX seconds). For the latest value only use /interestrate.",
        "operationId": "getHistoricalInterestRates",
        "tags": [
          "Interest Rate"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/rate"
          },
          {
            "$ref": "#/components/parameters/InterestRateOpenapi_start_date"
          },
          {
            "$ref": "#/components/parameters/InterestRateOpenapi_end_date"
          },
          {
            "$ref": "#/components/parameters/start_time"
          },
          {
            "$ref": "#/components/parameters/end_time"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterestRateHistoricalResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/iplookup": {
      "get": {
        "tags": [
          "IP Lookup"
        ],
        "summary": "Get location information for an IP address",
        "description": "Returns location information for an IP address. Requires an `address` in IPv4 form such as 73.9.149.180 or in IPv6 form.",
        "operationId": "getIPInfo",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "description": "IP Address to query. Must be in IPv4 format A.B.C.D (e.g., 73.9.149.180) or IPv6 format X:X:X:X:X:X:X:X (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with IP address location information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpLookupOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpLookupOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpLookupOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/ipocalendar": {
      "get": {
        "tags": [
          "IPO"
        ],
        "summary": "Get past, current, and upcoming IPO records",
        "operationId": "getIpoCalendar",
        "description": "Returns a list of IPO records matching the supplied filters. With no parameters, returns IPOs with listing dates between today and 30 days from now. All parameters are optional; combine them to narrow results by ticker, CIK, date range, status, deal type, exchange, or industry.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Company ticker symbol (e.g., RDDT). Returns IPO records for that specific company."
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "SEC Central Index Key, numeric only (padded or unpadded; e.g., 0001713445 or 1713445)."
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Single date in YYYY-MM-DD format. Cannot be combined with date_start or date_end."
          },
          {
            "name": "date_start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Range start in YYYY-MM-DD format. Defaults to today. Free-tier users cannot query earlier than 24 months ago."
          },
          {
            "name": "date_end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Range end in YYYY-MM-DD format. Defaults to today + 30 days."
          },
          {
            "name": "date_field",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "listing_date",
                "filing_date"
              ],
              "default": "listing_date"
            },
            "description": "Which date the range filter applies to."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of statuses to filter by. Values: filed, amended, priced, listed, withdrawn."
          },
          {
            "name": "deal_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of deal types to filter by. Values: ipo, spac_ipo, direct_listing."
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "NASDAQ",
                "NYSE",
                "AMEX"
              ]
            },
            "description": "U.S. exchange code."
          },
          {
            "name": "sic_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[0-9]{1,4}$"
            },
            "description": "SEC Standard Industrial Classification code (up to 4 digits)."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 50
            },
            "description": "Maximum number of results to return. Must be between 1 and 1000 (inclusive). Default is 50."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of results to skip for pagination. Must be a non-negative integer."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpoOpenapi_200"
          },
          "400": {
            "$ref": "#/components/responses/IpoOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/IpoOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/IpoOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/jokes": {
      "get": {
        "summary": "Get a random joke",
        "description": "Returns random jokes about pop culture, science, history and other topics. Set `limit` to return between 1 and 100 jokes; the default is 1.",
        "operationId": "getJoke",
        "tags": [
          "Jokes"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "How many jokes to return. Must be between 1 and 100. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100,
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/JokeResponse"
          },
          "400": {
            "$ref": "#/components/responses/JokesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/JokesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/JokesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/liborhistorical": {
      "get": {
        "summary": "Returns historical LIBOR rates for a specified tenor",
        "description": "Returns historical LIBOR rates for one tenor over an optional Unix timestamp range. Requires `type`: overnight, 1_month, 3_months, 6_months or 12_months.",
        "operationId": "getHistoricalLiborRates",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": true,
            "description": "Tenor of the LIBOR rate. Must be one of: overnight, 1_month, 3_months, 6_months, 12_months",
            "schema": {
              "type": "string",
              "enum": [
                "overnight",
                "1_month",
                "3_months",
                "6_months",
                "12_months"
              ]
            }
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "description": "Start time for the data range, specified as a UNIX timestamp in seconds.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "description": "End time for the data range, specified as a UNIX timestamp in seconds.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiborHistoricalData"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Server error"
          }
        },
        "tags": [
          "LIBOR"
        ]
      }
    },
    "/v1/logo": {
      "get": {
        "summary": "Get company logos",
        "description": "Get a list of company names, ticker symbols, and logo image URLs matching the input parameters. Returns at most 10 results.",
        "operationId": "getLogos",
        "parameters": [
          {
            "$ref": "#/components/parameters/LogoOpenapi_name"
          },
          {
            "$ref": "#/components/parameters/LogoOpenapi_ticker"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of company logos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Logo"
        ]
      }
    },
    "/v1/loremipsum": {
      "get": {
        "summary": "Generate Lorem Ipsum Text",
        "description": "Returns one or more paragraphs of lorem ipsum placeholder text.",
        "operationId": "generateLoremIpsum",
        "parameters": [
          {
            "$ref": "#/components/parameters/MaxLength"
          },
          {
            "$ref": "#/components/parameters/Paragraphs"
          },
          {
            "$ref": "#/components/parameters/StartWithLoremIpsum"
          },
          {
            "$ref": "#/components/parameters/Random"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoremIpsumResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/LoremIpsumOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/LoremIpsumOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/LoremIpsumOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Lorem Ipsum"
        ]
      }
    },
    "/v1/marketcap": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get market cap data for a given company ticker.",
        "description": "Returns real-time market capitalization data for a company listed on a major exchange. Requires a `ticker` such as NVDA.",
        "operationId": "getMarketCap",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "description": "Stock ticker symbol (e.g., NVDA).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketCapResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketCapOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketCapOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketCapOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/metalsprice": {
      "get": {
        "summary": "Get the current spot and futures price of a metal",
        "operationId": "getCurrentMetalsPrice",
        "description": "Returns the current spot price of a metal with its futures price and contract. Free tier returns the last daily close for every metal; Developer plans get a spot price refreshed every minute; Business, Professional, and Enterprise plans get the live spot price (about every 10 seconds) and the metals batch parameter.",
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "The metal to return. Defaults to gold. xau, xag, xpt, xpd, and aluminium are also accepted as aliases.",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver",
                "platinum",
                "palladium",
                "copper",
                "aluminum"
              ],
              "default": "gold"
            }
          },
          {
            "name": "metals",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of metals for a batch request. Available to Business, Professional, and Enterprise subscribers, or any annual plan.",
            "schema": {
              "type": "string",
              "example": "gold,silver,platinum"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert prices into (e.g., EUR, GBP, INR). Defaults to USD.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target weight unit. Defaults to the metal's native unit (troy_ounce for precious metals, lb for copper, metric_ton for aluminum).",
            "schema": {
              "type": "string",
              "enum": [
                "troy_ounce",
                "g",
                "kg",
                "oz",
                "lb",
                "metric_ton",
                "short_ton",
                "hundredweight"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. Object when called with metal; array when called with metals.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/MetalsPriceResponse"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/MetalsPriceResponse"
                          },
                          {
                            "$ref": "#/components/schemas/MetalsPriceOpenapi_BatchItemError"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Metals Price"
        ]
      }
    },
    "/v1/mortgagecalculator": {
      "get": {
        "summary": "Calculate mortgage payments",
        "description": "Calculates monthly and annual mortgage payments and interest from a loan amount or home value and downpayment, plus optional HOA, tax and insurance. Requires `interest_rate`.",
        "operationId": "calculateMortgage",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "loan_amount",
            "in": "query",
            "description": "Principal loan amount.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "home_value",
            "in": "query",
            "description": "Total value of the home or asset. Must be greater than downpayment.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "downpayment",
            "in": "query",
            "description": "Downpayment on the home or asset. Cannot exceed home_value.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "interest_rate",
            "in": "query",
            "description": "Annual interest rate (in %). For example, a 3.5% interest rate would be 3.5. Cannot exceed 10000.",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "duration_years",
            "in": "query",
            "description": "Duration of the loan in years. Must be between 1 and 10000. If not set, the default value is 30 years.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            }
          },
          {
            "name": "monthly_hoa",
            "in": "query",
            "description": "Monthly homeowner association fees.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "annual_property_tax",
            "in": "query",
            "description": "Annual property tax owed.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "annual_home_insurance",
            "in": "query",
            "description": "Annual homeowner's insurance bill.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MortgageCalculatorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Mortgage Calculator"
        ]
      }
    },
    "/v2/mortgagerate": {
      "get": {
        "summary": "Get Mortgage Rate Data",
        "description": "Returns 30-year and 15-year fixed-rate mortgage (FRM) data. If no parameters are set, the mortgage rate data for the most recent day is returned.",
        "operationId": "getMortgageRate",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Individual date to query in YYYY-MM-DD format.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_date",
            "in": "query",
            "description": "Minimum date range to query in YYYY-MM-DD format. Must be used with max_date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "max_date",
            "in": "query",
            "description": "Maximum date range to query in YYYY-MM-DD format. Must be used with min_date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with mortgage rate data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MortgageRateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid request format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MortgageRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MortgageRateOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error - An error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MortgageRateOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Mortgage Rate"
        ]
      }
    },
    "/v1/motorcarrier": {
      "get": {
        "tags": [
          "Motor Carrier"
        ],
        "summary": "Look up a motor carrier by USDOT or MC number",
        "operationId": "getMotorCarrier",
        "description": "Canonical carrier profile. Provide exactly one of dot or mc.",
        "parameters": [
          {
            "$ref": "#/components/parameters/dot"
          },
          {
            "$ref": "#/components/parameters/mc"
          },
          {
            "$ref": "#/components/parameters/checks"
          },
          {
            "$ref": "#/components/parameters/min_bipd"
          },
          {
            "$ref": "#/components/parameters/min_cargo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CarrierResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/motorcarriersearch": {
      "get": {
        "tags": [
          "Motor Carrier"
        ],
        "summary": "Search carriers by name or attributes",
        "operationId": "searchMotorCarriers",
        "description": "Find carriers by name, location or status, or reverse-look-up by phone or email (Business+).",
        "parameters": [
          {
            "$ref": "#/components/parameters/MotorCarrierOpenapi_name"
          },
          {
            "$ref": "#/components/parameters/MotorCarrierOpenapi_state"
          },
          {
            "$ref": "#/components/parameters/MotorCarrierOpenapi_city"
          },
          {
            "$ref": "#/components/parameters/zip"
          },
          {
            "$ref": "#/components/parameters/status"
          },
          {
            "$ref": "#/components/parameters/phone"
          },
          {
            "$ref": "#/components/parameters/email"
          },
          {
            "$ref": "#/components/parameters/MotorCarrierOpenapi_limit"
          },
          {
            "$ref": "#/components/parameters/MotorCarrierOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/motorcarrierinsurance": {
      "get": {
        "tags": [
          "Motor Carrier"
        ],
        "summary": "Insurance filings for a carrier",
        "operationId": "getMotorCarrierInsurance",
        "description": "Business+ only. Policy-level filings with coverage in US dollars, plus the 30-day BMC-35 cancellation window.",
        "parameters": [
          {
            "$ref": "#/components/parameters/dot"
          },
          {
            "$ref": "#/components/parameters/mc"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsuranceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/motorcarriersafety": {
      "get": {
        "tags": [
          "Motor Carrier"
        ],
        "summary": "Crash, inspection and BASIC results",
        "operationId": "getMotorCarrierSafety",
        "description": "Crash counts, out-of-service rates against the national average, and public BASIC measures.",
        "parameters": [
          {
            "$ref": "#/components/parameters/dot"
          },
          {
            "$ref": "#/components/parameters/mc"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SafetyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/motorcarrierlinks": {
      "get": {
        "tags": [
          "Motor Carrier"
        ],
        "summary": "Carriers sharing an address, phone, email domain or officer",
        "operationId": "getMotorCarrierLinks",
        "description": "Business+ only. Entity graph over the full FMCSA census for chameleon-carrier and double-brokering review.",
        "parameters": [
          {
            "$ref": "#/components/parameters/dot"
          },
          {
            "$ref": "#/components/parameters/mc"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinksResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotorCarrierOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/motorcycles": {
      "get": {
        "summary": "Search motorcycles by make, model, and year",
        "description": "Returns technical specifications for motorcycle models matching a make, model and/or year, with partial matching on make and model and `offset` paging.",
        "operationId": "searchMotorcycles",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "description": "Name of manufacturer/brand. Supports partial matching.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model",
            "in": "query",
            "description": "Name of motorcycle model. Supports partial matching.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Release year of motorcycle model. Must be in the form of YYYY.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of motorcycles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Motorcycle"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Motorcycles"
        ]
      }
    },
    "/v1/motorcyclemakes": {
      "get": {
        "summary": "Get list of all motorcycle manufacturers",
        "description": "Returns the list of motorcycle manufacturers covered. For one manufacturer's model names use /motorcyclemodels; for a model's technical data use /motorcycles.",
        "operationId": "getMotorcycleMakes",
        "responses": {
          "200": {
            "description": "A list of motorcycle makes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Makes"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Motorcycles"
        ]
      }
    },
    "/v1/motorcyclemodels": {
      "get": {
        "summary": "Get list of all models for a specific manufacturer",
        "description": "Returns the model names offered by one motorcycle manufacturer. Requires a `make`. For full technical specifications of a model use /motorcycles.",
        "operationId": "getMotorcycleModels",
        "parameters": [
          {
            "name": "make",
            "in": "query",
            "description": "Vehicle manufacturer (e.g. kawasaki).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of motorcycle models",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Motorcycles"
        ]
      }
    },
    "/v1/mutualfund": {
      "get": {
        "summary": "Get Mutual Fund Information",
        "description": "Returns details for a mutual fund including holdings, expense ratio, assets under management, and trailing total-return performance. Look it up by `ticker` (e.g. VFIAX) or by `isin` (e.g. US9229087104).",
        "operationId": "getMutualFund",
        "tags": [
          "Mutual Fund"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Mutual Fund ticker symbol (e.g., VFIAX, FXAIX, FZROX). Either ticker or isin is required, not both.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isin",
            "in": "query",
            "required": false,
            "description": "International Securities Identification Number of the Mutual Fund share class (e.g., US9229087104). Either ticker or isin is required, not both.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MutualFundResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/mxlookup": {
      "get": {
        "tags": [
          "MX Lookup"
        ],
        "summary": "Retrieve MX records for a domain",
        "description": "Returns the mail-exchange (MX) records for a `domain`, showing which servers accept its email. For other record types use /dnslookup.",
        "operationId": "getMXRecords",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MXLookupResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MxLookupOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MxLookupOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MxLookupOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/naics": {
      "get": {
        "tags": [
          "NAICS Code"
        ],
        "summary": "Look up a NAICS code",
        "operationId": "getNaics",
        "description": "Returns the official title, description, full hierarchy, index terms and cross-references for a NAICS code. Pass crosswalk_to to also map the code to another NAICS revision or to SIC. Available on all plans.",
        "parameters": [
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_code"
          },
          {
            "$ref": "#/components/parameters/codes"
          },
          {
            "$ref": "#/components/parameters/title"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_year"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_country"
          },
          {
            "$ref": "#/components/parameters/crosswalk_to"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCode"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Endpoint or field requires a higher subscription tier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/naicssearch": {
      "get": {
        "tags": [
          "NAICS Code"
        ],
        "summary": "Search NAICS codes by keyword",
        "operationId": "searchNaics",
        "description": "Ranked candidate codes for a keyword or phrase, matched against the 20,398-entry official Census index plus titles and descriptions. Returns every plausible code without applying classification rules. Available on all plans; results capped at 5 on Free and Learner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/query"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_year"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_level"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_SearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Endpoint or field requires a higher subscription tier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/naicssizestandard": {
      "get": {
        "tags": [
          "NAICS Code"
        ],
        "summary": "SBA small-business size standard for a NAICS code",
        "operationId": "getNaicsSizeStandard",
        "description": "Returns the SBA size standard from 13 CFR 121.201 for a code, and a small-business eligibility verdict when revenue or employees is supplied. Requires a Developer subscription or above; calculation basis, affiliation notes and exceptions require Business or above.",
        "parameters": [
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_code"
          },
          {
            "$ref": "#/components/parameters/codes"
          },
          {
            "$ref": "#/components/parameters/revenue"
          },
          {
            "$ref": "#/components/parameters/employees"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SizeStandardResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Endpoint or field requires a higher subscription tier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/naicsclassify": {
      "get": {
        "tags": [
          "NAICS Code"
        ],
        "summary": "Classify a business description to a single NAICS code",
        "operationId": "classifyNaics",
        "description": "Assigns one primary NAICS code to a business description by applying NAICS classification rules: the primary-activity test, cross-reference exclusions, and establishment scope. Returns the deciding rule and supporting evidence for audit. Requires a Business subscription or above.",
        "parameters": [
          {
            "$ref": "#/components/parameters/description"
          },
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_year"
          },
          {
            "$ref": "#/components/parameters/include_alternatives"
          },
          {
            "$ref": "#/components/parameters/min_confidence"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClassifyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Endpoint or field requires a higher subscription tier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/naicsrisk": {
      "get": {
        "tags": [
          "NAICS Code"
        ],
        "summary": "Industry risk profile for a NAICS code",
        "operationId": "getNaicsRisk",
        "description": "Returns a KYB and underwriting risk profile for an industry, including money-services, cash-intensive, cannabis, firearms, gambling and crypto flags, typical merchant category codes, and a review recommendation. Informational only, not a compliance determination. Requires a Business subscription or above.",
        "parameters": [
          {
            "$ref": "#/components/parameters/NaicsCodeOpenapi_code"
          },
          {
            "$ref": "#/components/parameters/codes"
          },
          {
            "$ref": "#/components/parameters/framework"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Endpoint or field requires a higher subscription tier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/nutrition": {
      "get": {
        "tags": [
          "Nutrition"
        ],
        "summary": "Get nutrition information from text",
        "description": "Extracts nutrition data from free-form text, scaling values to any quantities mentioned. Requires `query`. For one food item with an explicit amount use /nutritionitem.",
        "operationId": "getNutrition",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Query text to extract nutrition information.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of nutrition information extracted from the given text.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NutritionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/nutritionitem": {
      "get": {
        "tags": [
          "Nutrition"
        ],
        "summary": "Get nutrition information for a single food item with a specific quantity",
        "description": "Returns nutrition data for a single food item at a stated amount. Requires `query` and `quantity` such as \"1 cup\". For free-form text with several foods use /nutrition.",
        "operationId": "getNutritionItem",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "A single string containing the food item to be queried.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "A string indicating the quantity of the item in question. Supports various units of measurements (e.g., \"1 cup\", \"2 lbs\", \"100g\", \"2 tbsp\").",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Nutrition information for a single food item with the specified quantity.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NutritionItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/nutritionbarcode": {
      "get": {
        "tags": [
          "Nutrition"
        ],
        "summary": "Get nutrition information for a branded/packaged food by barcode",
        "description": "Look up nutrition, allergens, and ingredients for a branded/packaged food product by its UPC/EAN barcode. Requires a Business plan or above.",
        "operationId": "getNutritionBarcode",
        "parameters": [
          {
            "name": "upc",
            "in": "query",
            "description": "The UPC/EAN barcode of the product to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list containing the matching branded food product, or an empty list if no product matches the barcode.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandedNutritionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/objectdetection": {
      "post": {
        "summary": "Detect objects in an image",
        "description": "Detects and labels the objects present in an image using a neural network. The image is sent in the body of the POST request.",
        "operationId": "detectObjects",
        "tags": [
          "AI"
        ],
        "requestBody": {
          "description": "Image file to be processed for object detection.",
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "string",
                    "format": "binary",
                    "description": "Image file. Must be either JPEG or PNG format and smaller than 2000 by 2000."
                  }
                },
                "required": [
                  "image"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A list of detected objects with labels, confidence percentages, and bounding boxes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectDetectionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid request format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectDetectionOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectDetectionOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectDetectionOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/oilprice": {
      "get": {
        "summary": "Get the current oil / energy benchmark price",
        "operationId": "getCurrentOilPrice",
        "description": "Returns the current price for a crude oil or energy benchmark. Free tier returns the daily closing price for WTI (type=wti) and Brent (type=brent); premium tiers return the real-time price for all benchmarks and support optional currency and unit conversion.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "The oil/energy benchmark to return. Defaults to wti. crude_oil, brent_crude_oil, gasoline_rbob, and heating_oil are also accepted as aliases.",
            "schema": {
              "type": "string",
              "enum": [
                "wti",
                "brent",
                "natural_gas",
                "gasoline",
                "diesel"
              ],
              "default": "wti"
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of benchmarks for a batch request. Available to Business, Professional, and Enterprise subscribers, or any annual plan.",
            "schema": {
              "type": "string",
              "example": "wti,brent,natural_gas"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert the price into (e.g., EUR, GBP, INR). Premium feature.",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target unit to convert the price into. Must match the benchmark's dimension: crude oil, gasoline, and diesel (volume) accept barrel, gallon, liter, or cubic_meter; natural_gas (energy) accepts MMBtu, MWh, GJ, or therm. Premium feature.",
            "schema": {
              "type": "string",
              "enum": [
                "barrel",
                "gallon",
                "liter",
                "cubic_meter",
                "MMBtu",
                "MWh",
                "GJ",
                "therm"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. Object when called with type; array when called with types.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/OilPriceResponse"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/OilPriceResponse"
                          },
                          {
                            "$ref": "#/components/schemas/OilPriceOpenapi_BatchItemError"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Oil Price"
        ]
      }
    },
    "/v1/oilspot": {
      "get": {
        "summary": "Get the official daily spot price for an oil / energy benchmark",
        "operationId": "getOilSpotPrice",
        "description": "Premium only. Returns the U.S. EIA's official daily spot price for the benchmark's physical hub. The EIA publishes weekly, so the date field says which trading day the price is for. The types batch parameter is available to Business, Professional, and Enterprise subscribers, or any annual plan.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "The benchmark to return. Defaults to wti. crude_oil, brent_crude_oil, gasoline_rbob, and heating_oil are also accepted as aliases.",
            "schema": {
              "type": "string",
              "enum": [
                "wti",
                "brent",
                "natural_gas",
                "gasoline",
                "diesel"
              ],
              "default": "wti"
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of benchmarks for a batch request. Available to Business, Professional, and Enterprise subscribers, or any annual plan.",
            "schema": {
              "type": "string",
              "example": "wti,brent,natural_gas"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency code to convert the price into (e.g., EUR, GBP, INR).",
            "schema": {
              "type": "string",
              "example": "EUR"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Target unit to convert the price into. Must match the benchmark's dimension: crude oil, gasoline, and diesel (volume) accept barrel, gallon, liter, or cubic_meter; natural_gas (energy) accepts MMBtu, MWh, GJ, or therm.",
            "schema": {
              "type": "string",
              "enum": [
                "barrel",
                "gallon",
                "liter",
                "cubic_meter",
                "MMBtu",
                "MWh",
                "GJ",
                "therm"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response. Object when called with type; array when called with types.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/OilSpotResponse"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/OilSpotResponse"
                          },
                          {
                            "$ref": "#/components/schemas/OilPriceOpenapi_BatchItemError"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Oil Price"
        ]
      }
    },
    "/v1/oilpricehistorical": {
      "get": {
        "summary": "Get historical oil / energy benchmark prices",
        "operationId": "getHistoricalOilPrice",
        "description": "Returns historical OHLCV (Open, High, Low, Close, Volume) data for an oil/energy benchmark, most recent first. Reserved for premium subscribers.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "The oil/energy benchmark. Defaults to wti. crude_oil, brent_crude_oil, gasoline_rbob, and heating_oil are also accepted as aliases.",
            "schema": {
              "type": "string",
              "enum": [
                "wti",
                "brent",
                "natural_gas",
                "gasoline",
                "diesel"
              ],
              "default": "wti"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Time interval between data points.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ],
              "default": "1h"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Start timestamp in Unix format.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "description": "End timestamp in Unix format.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoricalOilPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - Reserved for premium subscribers."
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Oil Price"
        ]
      }
    },
    "/v1/passwordgenerator": {
      "get": {
        "summary": "Generate a random password",
        "description": "Generates one random password of the requested length, optionally excluding numbers or special characters. Defaults to 16 characters when no length is given.",
        "operationId": "generatePassword",
        "tags": [
          "Password Generator"
        ],
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "description": "Length of password in characters. If not set, a default value of 16 is used.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 16
            }
          },
          {
            "name": "exclude_numbers",
            "in": "query",
            "description": "Whether to exclude numbers from the password. Must be either true or false. If not set, a default value of false will be used.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "exclude_special_chars",
            "in": "query",
            "description": "Whether to exclude special characters(!@#$%^&*()) from the password. Must be either true or false. If not set, a default value of false will be used.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PasswordGenerated"
          },
          "400": {
            "$ref": "#/components/responses/PasswordGeneratorOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/PasswordGeneratorOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/PasswordGeneratorOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/phonelookup": {
      "get": {
        "tags": [
          "Phone Lookup"
        ],
        "summary": "Look up carrier, line type, and network metadata for a phone number",
        "description": "Returns carrier, line type and portability details for a phone `number`, with optional `country`. For format and validity checks only use /validatephone.",
        "operationId": "phoneLookup",
        "parameters": [
          {
            "$ref": "#/components/parameters/number"
          },
          {
            "$ref": "#/components/parameters/PhoneLookupOpenapi_country"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with phone number line intelligence",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneLookupResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneLookupOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneLookupOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneLookupOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/pincode": {
      "get": {
        "summary": "Look up an Indian PIN code",
        "description": "Returns the locations matching a six-digit Indian PIN code. Spaces and hyphens are normalized, so 110001, 110 001 and 110-001 all resolve. Searching by city, district or state instead of a pincode requires premium.",
        "operationId": "getPinCode",
        "tags": [
          "PIN Code"
        ],
        "parameters": [
          {
            "name": "pincode",
            "in": "query",
            "description": "The six-digit Indian PIN code (Postal Index Number) to look up.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City or locality name to search in reverse (case-sensitive). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "district",
            "in": "query",
            "description": "District to search in reverse, e.g. Pune. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "State or union territory to search in reverse, e.g. Maharashtra. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PinCodeInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCodeOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCodeOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCodeOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/planets": {
      "get": {
        "summary": "Get a list of planets",
        "description": "Get a list of planets matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of the planet.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_mass",
            "in": "query",
            "description": "Minimum mass of the planet in Jupiters.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_mass",
            "in": "query",
            "description": "Maximum mass of the planet in Jupiters.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_radius",
            "in": "query",
            "description": "Minimum average radius of the planet in Jupiters.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_radius",
            "in": "query",
            "description": "Maximum average radius of the planet in Jupiters.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_period",
            "in": "query",
            "description": "Minimum orbital period of the planet in Earth days.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_period",
            "in": "query",
            "description": "Maximum orbital period of the planet in Earth days.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_temperature",
            "in": "query",
            "description": "Minimum average surface temperature of the planet in Kelvin.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_temperature",
            "in": "query",
            "description": "Maximum average surface temperature of the planet in Kelvin.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_distance_light_year",
            "in": "query",
            "description": "Minimum distance the planet is from Earth in light years.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_distance_light_year",
            "in": "query",
            "description": "Maximum distance the planet is from Earth in light years.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_semi_major_axis",
            "in": "query",
            "description": "Minimum semi major axis of planet in astronomical units (AU).",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_semi_major_axis",
            "in": "query",
            "description": "Maximum semi major axis of planet in astronomical units (AU).",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of planets",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Planet"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PlanetsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/PlanetsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/PlanetsOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Planets"
        ]
      }
    },
    "/v1/population": {
      "get": {
        "summary": "Get population data",
        "description": "Get population data from given parameters. Returns a list of up to 5 country population statistics that satisfy the parameters. For more results use the offset parameter.",
        "operationId": "getPopulationData",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "Country name (case-insensitive) or 2-letter ISO-3166 alpha-2 code of the country. E.g. Japan or JP.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_population",
            "in": "query",
            "description": "Minimum population of country.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_population",
            "in": "query",
            "description": "Maximum population of country.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Offset results for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PopulationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Population"
        ]
      }
    },
    "/v1/postalcode": {
      "get": {
        "summary": "Get postal code information",
        "description": "Returns details for a Canadian postal code, given as A1A1A1 or A1A 1A1. Searching by `city` and `province` instead of a postal code requires premium.",
        "operationId": "getPostalCode",
        "tags": [
          "Postal Code"
        ],
        "parameters": [
          {
            "name": "postal_code",
            "in": "query",
            "description": "The postal code to look up. Accepts Canadian postal codes in 6 characters (A1A1A1) or 7 characters with a space (A1A 1A1). The space will be automatically normalized if not provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "Full name of the city to search (case-sensitive). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "province",
            "in": "query",
            "description": "2-letter abbreviation of the province (e.g., ON, BC, QC). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PostalCodeInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostalCodeOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostalCodeOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostalCodeOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/profanityfilter": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Detects and censors profanity in text.",
        "description": "Screens `text` for profanity and returns a censored version plus a flag indicating whether anything was found. Requires `text`.",
        "operationId": "filterProfanity",
        "parameters": [
          {
            "$ref": "#/components/parameters/TextParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfanityFilterResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfanityFilterOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfanityFilterOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfanityFilterOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/propertytax": {
      "get": {
        "summary": "Retrieve property tax rates",
        "description": "Returns effective property tax rates for locations in the United States, filtered by state, county, city, or ZIP code.",
        "operationId": "getPropertyTax",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "required": false,
            "description": "2-letter abbreviation of the state (case-insensitive).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "county",
            "in": "query",
            "required": false,
            "description": "The name of the county for which property tax data is being requested.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "description": "Full name of the city to search (case-sensitive).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "required": false,
            "description": "The ZIP Code to look up property tax rates.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertyTaxResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Property Tax"
        ]
      }
    },
    "/v1/publicholidays": {
      "get": {
        "summary": "Get public holidays for a given country and year",
        "description": "Returns public holidays for a country and calendar year. Requires a `country`. To test whether one date is a public holiday use /ispublicholiday.",
        "operationId": "getPublicHolidays",
        "tags": [
          "Public Holidays"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "description": "2-letter ISO country code or full country name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "description": "Calendar year between 1980 and 2050 (inclusive). Defaults to current year. Premium only.",
            "schema": {
              "type": "integer",
              "default": 2023
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of public holidays",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicHoliday"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/ispublicholiday": {
      "get": {
        "summary": "Check if a given date is a public holiday for a given country",
        "description": "Checks whether a given date is a public holiday in a country. Requires `country` and `date`. For a whole year of public holidays use /publicholidays.",
        "operationId": "isPublicHoliday",
        "tags": [
          "Public Holidays"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "description": "2-letter ISO country code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": true,
            "description": "Date in YYYY-MM-DD format. Must be between 1980-01-01 and 2050-12-31 (inclusive).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Public holiday information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsPublicHoliday"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/PublicHolidaysOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/qrcode": {
      "get": {
        "summary": "Generate QR Code",
        "description": "Generates a QR Code image for the specified data.",
        "operationId": "generateQRCode",
        "parameters": [
          {
            "$ref": "#/components/parameters/data"
          },
          {
            "$ref": "#/components/parameters/QrCodeOpenapi_format"
          },
          {
            "$ref": "#/components/parameters/size"
          },
          {
            "$ref": "#/components/parameters/fg_color"
          },
          {
            "$ref": "#/components/parameters/bg_color"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QRCodeResponse"
          },
          "400": {
            "$ref": "#/components/responses/QrCodeOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/QrCodeOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/QrCodeOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "QR Code"
        ]
      }
    },
    "/v2/quotes": {
      "get": {
        "summary": "Get quotes with pagination support (deterministic order)",
        "description": "Returns quotes in a deterministic, paginated order, filterable by category, author or work title. For a random selection instead use /randomquotes.",
        "operationId": "getQuotes",
        "tags": [
          "Quotes"
        ],
        "parameters": [
          {
            "name": "categories",
            "in": "query",
            "description": "Comma-separated list of categories to include in results (results will match all of the categories). Example: categories=wisdom,success",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exclude_categories",
            "in": "query",
            "description": "Comma-separated list of categories to exclude from results (results will not match any of the categories). Example: exclude_categories=love,philosophy",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "author",
            "in": "query",
            "description": "Filter quotes by author name (partial match supported). Example: author=Einstein",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "work",
            "in": "query",
            "description": "Filter quotes by work title (partial match supported). Example: work=War",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to return. Must be between 1 and 100. Default is 1. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to skip for pagination. Default is 0. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            }
          },
          {
            "$ref": "#/components/parameters/QuotesOpenapi_safe"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QuoteResponse"
          },
          "400": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/randomquotes": {
      "get": {
        "summary": "Get random quotes",
        "description": "Returns randomly chosen quotes, optionally filtered by category, author or work title. For stable paginated results use /quotes; for one fixed daily quote use /quoteoftheday.",
        "operationId": "getRandomQuotes",
        "tags": [
          "Quotes"
        ],
        "parameters": [
          {
            "name": "categories",
            "in": "query",
            "description": "Comma-separated list of categories to include in results (results will match all of the categories). Example: categories=wisdom,success",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exclude_categories",
            "in": "query",
            "description": "Comma-separated list of categories to exclude from results (results will not match any of the categories). Example: exclude_categories=love,philosophy",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "author",
            "in": "query",
            "description": "Filter quotes by author name (partial match supported). Example: author=Einstein",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "work",
            "in": "query",
            "description": "Filter quotes by work title (partial match supported). Example: work=War",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of random results to return. Must be between 1 and 100. Default is 1. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "$ref": "#/components/parameters/QuotesOpenapi_safe"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QuoteResponse"
          },
          "400": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/quoteoftheday": {
      "get": {
        "summary": "Get today's quote (same quote all day)",
        "description": "Returns a single quote of the day that stays the same for the whole day. Takes no parameters. For varying quotes use /randomquotes or /quotes.",
        "operationId": "getQuoteOfTheDay",
        "tags": [
          "Quotes"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QuoteResponse"
          },
          "400": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/quoteauthors": {
      "get": {
        "summary": "Get list of authors with multiple aphoristic quotes (premium only)",
        "description": "Lists authors who have multiple aphoristic quotes in the database, with limit and offset paging. Requires a premium subscription.",
        "operationId": "getQuoteAuthors",
        "tags": [
          "Quotes"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of authors to return. Must be between 1 and 500. Default is 100.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "minimum": 1,
              "maximum": 500
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of authors to skip. Used for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/ErrorResponse"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/randomimage": {
      "get": {
        "summary": "Get a random image",
        "description": "Returns a random royalty-free image, optionally constrained by `category`, `width` and `height`. Useful for placeholder or sample imagery.",
        "operationId": "getRandomImage",
        "tags": [
          "Miscellaneous"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/category"
          },
          {
            "$ref": "#/components/parameters/width"
          },
          {
            "$ref": "#/components/parameters/height"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RandomImage"
          },
          "400": {
            "$ref": "#/components/responses/RandomImageOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/RandomImageOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/RandomImageOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/randomuser": {
      "get": {
        "summary": "Get fake random user profiles",
        "description": "Generates fake user profiles such as name, email, address and username for testing or placeholders, with count, gender, age, locale, field selection and seed options.",
        "operationId": "getRandomUsers",
        "tags": [
          "Miscellaneous"
        ],
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "description": "Number of users to generate (1-10000)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 10
            }
          },
          {
            "name": "gender",
            "in": "query",
            "description": "Filter by gender",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "male",
                "female",
                "nonbinary",
                "any"
              ],
              "default": "any"
            }
          },
          {
            "name": "min_age",
            "in": "query",
            "description": "Minimum age (0-115)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 115,
              "default": 0
            }
          },
          {
            "name": "max_age",
            "in": "query",
            "description": "Maximum age (0-115)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 115,
              "default": 100
            }
          },
          {
            "name": "locale",
            "in": "query",
            "description": "Locale for generating localized data (e.g., en_US, de_DE, fr_FR)",
            "required": false,
            "schema": {
              "type": "string",
              "default": "en_US"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated list of fields to include. If not specified, all available fields are returned.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exclude",
            "in": "query",
            "description": "Comma-separated list of fields to exclude from the response",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "description": "Seed value for reproducible random data generation",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blank_percentage",
            "in": "query",
            "description": "Percentage of fields to leave blank (0-100)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100,
              "default": 0
            }
          },
          {
            "name": "password_length",
            "in": "query",
            "description": "Length of generated passwords (6-128)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 6,
              "maximum": 128,
              "default": 12
            }
          },
          {
            "name": "nationality",
            "in": "query",
            "description": "Nationality filter",
            "required": false,
            "schema": {
              "type": "string",
              "default": "any"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response: a list of random user profiles.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RandomUserProfile"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid parameters"
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/randomword": {
      "get": {
        "summary": "Returns a random word.",
        "description": "Returns one or more random words, optionally restricted to a part of speech: noun, verb, adjective, or adverb.",
        "operationId": "getRandomWord",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Type of word. Possible values are: noun, verb, adjective, adverb.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "noun",
                "verb",
                "adjective",
                "adverb"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many results to return. Must be between 1 and 30. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response: a list of random words.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": "menial"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          }
        },
        "tags": [
          "Random Word"
        ]
      }
    },
    "/v3/recipe": {
      "get": {
        "tags": [
          "Recipe"
        ],
        "summary": "Get a list of recipes",
        "description": "Get a list of recipes for a given recipe name or ingredient(s). Returns a list of recipes with nutrition information when available. To access more results, use the limit parameter to limit the number of results and the offset parameter to offset results for pagination in multiple API calls.",
        "operationId": "getRecipes",
        "parameters": [
          {
            "$ref": "#/components/parameters/RecipeOpenapi_title"
          },
          {
            "$ref": "#/components/parameters/ingredients"
          },
          {
            "$ref": "#/components/parameters/RecipeOpenapi_limit"
          },
          {
            "$ref": "#/components/parameters/RecipeOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Recipe"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecipeOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecipeOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecipeOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/rhyme": {
      "get": {
        "summary": "Get rhyming words",
        "description": "Returns a list of rhyming words for any given word.",
        "operationId": "getRhyme",
        "parameters": [
          {
            "name": "word",
            "in": "query",
            "description": "Word to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of rhyming words.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RhymeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RhymeOpenapi_Error400"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RhymeOpenapi_Error401"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RhymeOpenapi_Error500"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Rhyme"
        ]
      }
    },
    "/v1/riddles": {
      "get": {
        "summary": "Get Riddles",
        "description": "Returns one or more random riddles.",
        "operationId": "getRiddles",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to return. Must be between 1 and 20. Default is 1.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "maximum": 20
            }
          },
          {
            "$ref": "#/components/parameters/RiddlesOpenapi_safe"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RiddleResponse"
          },
          "400": {
            "$ref": "#/components/responses/RiddlesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/RiddlesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/RiddlesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Riddles"
        ]
      }
    },
    "/v1/routingnumber": {
      "get": {
        "summary": "Get Bank Information by Routing Number",
        "description": "Returns the US bank identified by a routing number. Requires a 9-digit `routing_number`. To find routing numbers by bank name or location instead use /routingnumbersearch.",
        "operationId": "getBankInfo",
        "tags": [
          "Routing Number"
        ],
        "parameters": [
          {
            "name": "routing_number",
            "in": "query",
            "description": "The 9-digit routing number of the bank to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BankInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/routingnumbersearch": {
      "get": {
        "summary": "Search for Banks and Routing Numbers",
        "description": "Finds US banks and their routing numbers by bank name, city, state, ZIP code or SWIFT/BIC code, with `offset` paging. To decode a known routing number use /routingnumber.",
        "operationId": "searchBanks",
        "tags": [
          "Routing Number"
        ],
        "parameters": [
          {
            "name": "bank_name",
            "in": "query",
            "description": "Bank name to search for.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name to search for banks.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "Two-letter state code (e.g. CA, NY).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip_code",
            "in": "query",
            "description": "5-digit ZIP code to search for banks.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "swift_code",
            "in": "query",
            "description": "8 or 11 character SWIFT/BIC code. Returns the US routing numbers of the bank identified by the code (institution-level match on the first 8 characters). Available for Business and Professional subscribers only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BankInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/salestaxcalculator": {
      "get": {
        "summary": "Calculates sales tax for a given amount and location.",
        "description": "Calculates US sales tax on a purchase amount for a location given by ZIP code or by city and state, returning the tax breakdown and total. Requires `amount`.",
        "operationId": "calculateSalesTax",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "format": "float"
            },
            "description": "Purchase amount to calculate tax on."
          },
          {
            "name": "zip_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valid US ZIP code."
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "City name."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "State name."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with sales tax details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesTaxCalculatorResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid request format or parameters."
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid."
          },
          "500": {
            "description": "Internal Server Error - An error occurred on the server."
          }
        },
        "tags": [
          "Sales Tax Calculator by API Ninjas"
        ]
      }
    },
    "/v1/salestax": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get sales tax information by ZIP code, city, or state",
        "description": "Returns the sales tax rate and its breakdown for a US `zip_code`, or for a `street_address` with city and state for the most accurate result. For thresholds use /salestaxnexus.",
        "operationId": "getSalesTax",
        "parameters": [
          {
            "name": "zip_code",
            "in": "query",
            "description": "Valid US ZIP code.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "street_address",
            "in": "query",
            "description": "Street address (e.g. 9641 Sunset Blvd). Used together with city and state for the most accurate lookup.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "State name.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesTaxResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/SalesTaxOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/SalesTaxOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/SalesTaxOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/salestaxfiling": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "US sales tax filing due dates, frequencies and prepayment schedules (premium only)",
        "operationId": "getSalesTaxFiling",
        "description": "PREMIUM ONLY - Business tier and above; requests below that return an error.\n\nFiling frequencies and due dates for 47 US sales tax jurisdictions. Calendars are GENERATED from each state's published rules, so they stay correct across years rather than rotting like a hand-entered table.\n\nHandles what a naive 'due on the 20th' model gets wrong: due days ranging from the 15th (Maine) to the last day of the month (California); New York's quarters ending Feb/May/Aug/Nov; weekend and holiday rollover against federal, state or both calendars, flagged with due_date_adjusted and preserving statutory_due_date; electronic payments that must be INITIATED a business day early (Florida); and prepayment regimes in the four distinct placements states actually use.\n\nSupply annual_liability to have the state's own ladder assign a frequency. Where a state grants frequency by written approval or departmental notice rather than by a published dollar threshold, the response is 'indeterminate' rather than a guess. Each jurisdiction carries coverage_level, and any field the state does not publish is listed in unpublished with an unpublished_reason.\n\nState-level filing regimes only; home-rule localities that file separately are out of scope. This is reference data, not tax advice.",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "required": false,
            "description": "Two-letter US state code or full state name (e.g. TX or Texas). Omit for all jurisdictions.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "frequency",
            "in": "query",
            "required": false,
            "description": "Filing frequency tier, e.g. monthly, quarterly, semiannual, annual, monthly_accelerated. Returns the generated calendar for that tier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Four-digit calendar year for the generated calendar. Defaults to the current year.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "annual_liability",
            "in": "query",
            "required": false,
            "description": "Annual sales tax liability in US dollars. Returns the frequency the state would assign, or 'indeterminate' where the state publishes no computable threshold.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filing rules and generated due-date calendar.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/salestaxholidays": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "US sales tax holidays: dates, eligible categories and price caps",
        "operationId": "getSalesTaxHolidays",
        "description": "Sales tax holidays for US states, with timezone-aware start and end timestamps, eligible item categories and per-item price caps.\n\nSupply a date, category and amount to get an exemption determination for a single purchase. Where a state lets each locality opt in or out, the endpoint returns exempt: null with determination: 'indeterminate' and a required_input array rather than a flat true, because participation is not decidable from the state alone.\n\nPrice caps are per item in most states, not per transaction; cap_basis says which. Asking for a year the state has not yet published returns an empty result set with a coverage note, not an error and not last year's dates.\n\nThis is reference data, not tax advice.",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "required": false,
            "description": "Two-letter US state code or full state name (e.g. TX or Texas). Omit for a nationwide list.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Four-digit calendar year. Defaults to the current year.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "ISO date (YYYY-MM-DD). Returns only holidays in effect on that date and adds an exemption determination.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Item category to test, e.g. clothing, school_supplies, computers, energy_star. An unknown category returns not_addressed rather than a guess.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "description": "Item price to test against the holiday's price cap.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Matching sales tax holidays.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/salestaxnexus": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Check US sales tax economic nexus thresholds and whether a seller has crossed them (premium only)",
        "operationId": "getSalesTaxNexus",
        "description": "PREMIUM ONLY - requests on the free tier return an error.\n\nReturns economic nexus thresholds for US states. Call it with no sales figures as a reference lookup, or supply sales figures to get a determination. Omit the state parameter to evaluate all 50 states and DC in one call.\n\nAny 'nexus' or 'no_nexus' determination is provable from the figures supplied. Where the inputs cannot settle the question, the endpoint returns 'indeterminate' with a required_input array rather than guessing, because states measure different quantities: taxable sales are a subset of retail sales, which are a subset of gross sales.\n\nEconomic nexus only. Physical presence is not evaluated. This is reference data, not tax advice.",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "description": "Two-letter US state code or full state name (e.g. CA or California). Omit to evaluate all 50 states and DC.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gross_sales",
            "in": "query",
            "description": "All sales delivered into the state, including taxable, exempt and resale sales.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "retail_sales",
            "in": "query",
            "description": "Sales delivered into the state excluding sales for resale.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "taxable_sales",
            "in": "query",
            "description": "Sales delivered into the state excluding both resale and exempt sales.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "revenue",
            "in": "query",
            "description": "Generic revenue figure. Use only when your figure is already stated on that state's own measure; otherwise prefer the specific parameters above.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "transactions",
            "in": "query",
            "description": "Number of separate sales transactions delivered into the state.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "marketplace_sales",
            "in": "query",
            "description": "The portion of the above sales that was facilitated by a marketplace. Required to get a definitive answer in states that exclude marketplace sales from the seller's own threshold.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "marketplace_transactions",
            "in": "query",
            "description": "The portion of transactions facilitated by a marketplace.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NexusResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/SalesTaxOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/SalesTaxOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/SalesTaxOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/sanctionsscreening": {
      "get": {
        "tags": [
          "Sanctions Screening"
        ],
        "summary": "Screen a name against major government sanctions lists",
        "description": "Returns ranked matches against the configured government sanctions lists. The set of lists and entity types available depends on subscription tier — Free covers OFAC SDN individuals only, Developer adds EU and entities, Business adds UK/UN/AU and vessels/aircraft.",
        "operationId": "screenSanctions",
        "parameters": [
          {
            "$ref": "#/components/parameters/SanctionsScreeningOpenapi_name"
          },
          {
            "$ref": "#/components/parameters/entity_type"
          },
          {
            "$ref": "#/components/parameters/SanctionsScreeningOpenapi_country"
          },
          {
            "$ref": "#/components/parameters/dob"
          },
          {
            "$ref": "#/components/parameters/nationality"
          },
          {
            "$ref": "#/components/parameters/sources"
          },
          {
            "$ref": "#/components/parameters/min_score"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SanctionsScreenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SanctionsScreeningOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SanctionsScreeningOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SanctionsScreeningOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/sec": {
      "get": {
        "summary": "Search SEC Filings",
        "description": "Returns a list of SEC filing information (including the submission URL) corresponding to the given search parameters.",
        "operationId": "searchSEC",
        "parameters": [
          {
            "$ref": "#/components/parameters/SecOpenapi_ticker"
          },
          {
            "$ref": "#/components/parameters/filing"
          },
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/end"
          },
          {
            "$ref": "#/components/parameters/SecOpenapi_limit"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of SEC filings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SECResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/SecOpenapi_400"
          },
          "401": {
            "$ref": "#/components/responses/SecOpenapi_401"
          },
          "500": {
            "$ref": "#/components/responses/SecOpenapi_500"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "SEC"
        ]
      }
    },
    "/v1/sentiment": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Analyzes the sentiment of the provided text",
        "description": "Analyzes the sentiment of a piece of text and returns a sentiment result for it. Requires `text` of at most 2000 characters.",
        "operationId": "analyzeSentiment",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "description": "Query text for sentiment analysis. Maximum 2000 characters.",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 2000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SentimentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SentimentOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SentimentOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SentimentOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/shortinterest": {
      "get": {
        "summary": "Get short interest for a stock or ETF",
        "operationId": "getShortInterest",
        "description": "Returns the latest bi-weekly short interest for a security plus history, enriched with short percent of outstanding and float, dollar notional short, and a two-year percentile. The free tier returns the latest settlement date with the exact short percent of outstanding; premium plans unlock float-based metrics, the percentile, split-adjusted history and the full archive back to 2017.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": true,
            "description": "The stock or ETF ticker symbol (e.g., GME).",
            "schema": {
              "type": "string",
              "example": "GME"
            }
          },
          {
            "name": "settlement_date",
            "in": "query",
            "required": false,
            "description": "Return a specific settlement date in YYYY-MM-DD format. Short interest settles on the 15th and the last business day of each month.",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2026-07-31"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of historical settlement dates to return, 1 to 200. Defaults to 12. The free tier is limited to the latest date.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "example": 12
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON object with the security, the latest settlement-date reading, its SEC-derived enrichment (share count, float, notional, two-year percentile) and a history array. Premium fields are replaced with an upgrade message on the free tier.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ticker": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "exchange": {
                      "type": "string",
                      "description": "Listing venue: NYSE, NNM, SC, ARCA, BZX, AMEX, IEX or OTC."
                    },
                    "cik": {
                      "type": "string"
                    },
                    "sector": {
                      "type": "string"
                    },
                    "industry": {
                      "type": "string"
                    },
                    "next_settlement_date": {
                      "type": "string",
                      "format": "date"
                    },
                    "next_publication_date": {
                      "type": "string",
                      "format": "date",
                      "description": "When the next reading becomes available, so callers can schedule rather than poll."
                    },
                    "source": {
                      "type": "string"
                    },
                    "history": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ShortInterestRecord"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request — missing or invalid parameters, or an invalid API key."
          }
        },
        "tags": [
          "Short Interest"
        ]
      }
    },
    "/v1/shortinterestscreener": {
      "get": {
        "summary": "Rank the whole market by short interest",
        "operationId": "getShortInterestScreener",
        "description": "Ranks every US security for a settlement date by short percent of float, short percent of outstanding, days to cover, two-week change, dollar notional short, or two-year percentile. This is how you find the most shorted stocks. Requires a Business plan or higher.",
        "parameters": [
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "description": "Ranking metric.",
            "schema": {
              "type": "string",
              "enum": [
                "short_percent_float",
                "short_percent_outstanding",
                "days_to_cover",
                "change_percent",
                "dollar_volume_short",
                "percentile_2y",
                "shares_short"
              ],
              "default": "short_percent_float"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            }
          },
          {
            "name": "settlement_date",
            "in": "query",
            "required": false,
            "description": "Settlement date in YYYY-MM-DD format. Defaults to the most recent published date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "Restrict to one listing venue.",
            "schema": {
              "type": "string",
              "enum": [
                "NYSE",
                "NNM",
                "SC",
                "ARCA",
                "BZX",
                "AMEX",
                "OTC",
                "IEX",
                "OTCBB"
              ]
            }
          },
          {
            "name": "sector",
            "in": "query",
            "required": false,
            "description": "Restrict to one sector (e.g., Technology, Health Care).",
            "schema": {
              "type": "string",
              "example": "Health Care"
            }
          },
          {
            "name": "min_short_percent_float",
            "in": "query",
            "required": false,
            "description": "Minimum short percent of float.",
            "schema": {
              "type": "number",
              "example": 20
            }
          },
          {
            "name": "min_days_to_cover",
            "in": "query",
            "required": false,
            "description": "Minimum days to cover.",
            "schema": {
              "type": "number",
              "example": 5
            }
          },
          {
            "name": "min_price",
            "in": "query",
            "required": false,
            "description": "Minimum share price, useful for excluding sub-dollar names.",
            "schema": {
              "type": "number",
              "example": 5
            }
          },
          {
            "name": "min_shares_outstanding",
            "in": "query",
            "required": false,
            "description": "Minimum shares outstanding, a rough size filter.",
            "schema": {
              "type": "number",
              "example": 10000000
            }
          },
          {
            "name": "exclude_capped_float",
            "in": "query",
            "required": false,
            "description": "Set true to exclude rows where the derived float was clamped to shares outstanding, leaving only measured floats.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          {
            "name": "max_float_price_gap_days",
            "in": "query",
            "required": false,
            "description": "Only include rows whose float was converted using a price within this many days of the measurement date. 7 retains roughly 90% of rows at good precision.",
            "schema": {
              "type": "integer",
              "example": 7
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of results, 1 to 100. Defaults to 25.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "example": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON object with the settlement date, the sort applied, a result count and a ranked results array. Each entry carries the same fields as /shortinterest."
          },
          "400": {
            "description": "Bad request, invalid parameters, or a plan below Business."
          }
        },
        "tags": [
          "Short Interest"
        ]
      }
    },
    "/v1/shortvolume": {
      "get": {
        "summary": "Get daily short sale volume",
        "operationId": "getShortVolume",
        "description": "Reg SHO daily short sale volume — the portion of a day's OFF-EXCHANGE volume flagged as short sales. This is not short interest and not a percent of total market volume: FINRA covers only trades reported to its Trade Reporting Facilities, roughly 35-52% of consolidated volume. A ratio near 50% is normal and mostly reflects wholesalers filling retail buy orders from inventory. Updated every trading day, so it moves between bi-weekly short interest readings.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": true,
            "description": "The stock or ETF ticker symbol (e.g., GME).",
            "schema": {
              "type": "string",
              "example": "GME"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of trading days to return, 1 to 250. Defaults to 30. The free tier is limited to the latest day.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "example": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON object with the latest trading day (short volume, short-exempt volume, total off-exchange volume, ratio and reporting facilities), a 20-day average ratio, and a history array."
          },
          "400": {
            "description": "Bad request — missing or invalid parameters."
          }
        },
        "tags": [
          "Short Interest"
        ]
      }
    },
    "/v1/failstodeliver": {
      "get": {
        "summary": "Get SEC fails-to-deliver",
        "operationId": "getFailsToDeliver",
        "description": "Shares that did not settle on the contractual settlement date, published semi-monthly by the SEC. Persistent, large fails are the closest public signal to naked shorting. A security is listed only on dates it had a settlement failure, so an absent date means no material fails rather than no data.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": true,
            "description": "The stock or ETF ticker symbol (e.g., GME).",
            "schema": {
              "type": "string",
              "example": "GME"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of records to return, 1 to 250. Defaults to 30. The free tier is limited to the latest record.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "example": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON object with the latest fails-to-deliver record, a trailing 12-month aggregate and a history array. Note: a security is listed only on dates it actually had a settlement failure, so an absent date means no material fails rather than no data."
          },
          "400": {
            "description": "Bad request — missing or invalid parameters."
          }
        },
        "tags": [
          "Short Interest"
        ]
      }
    },
    "/v1/shortinterestcalendar": {
      "get": {
        "summary": "Get the short interest settlement and publication calendar",
        "operationId": "getShortInterestCalendar",
        "description": "Settlement dates, member reporting deadlines and FINRA publication dates. Short interest changes only 24 times a year, so this lets you schedule refreshes instead of polling. Available on every plan, including free.",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Restrict to one calendar year (2018 onward).",
            "schema": {
              "type": "integer",
              "example": 2026
            }
          },
          {
            "name": "upcoming",
            "in": "query",
            "required": false,
            "description": "Set true to return only future, not-yet-published settlement dates in ascending order.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of dates to return, 1 to 120. Defaults to 24 (one year).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 120,
              "example": 24
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON object with a count and a results array of settlement dates, member reporting deadlines and FINRA publication dates. Dates with is_published false carry a projected publication_date."
          },
          "400": {
            "description": "Bad request — invalid parameters."
          }
        },
        "tags": [
          "Short Interest"
        ]
      }
    },
    "/v1/sortcode": {
      "get": {
        "summary": "Get UK Bank Branch Information by Sort Code",
        "description": "Looks up and validates a 6-digit UK sort code, returning its bank and branch details. Requires `sort_code`. To search by bank, city or postcode use /sortcodesearch.",
        "operationId": "getSortCodeInfo",
        "tags": [
          "Sort Code"
        ],
        "parameters": [
          {
            "name": "sort_code",
            "in": "query",
            "description": "The 6-digit UK sort code, with or without hyphens (e.g. 20-00-00 or 200000).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SortCodeOpenapi_BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/sortcodesearch": {
      "get": {
        "summary": "Search for UK Bank Branches and Sort Codes",
        "description": "Finds UK bank branches and their sort codes by bank name, city or postcode. To look up a single sort code that is already known use /sortcode.",
        "operationId": "searchSortCodes",
        "tags": [
          "Sort Code"
        ],
        "parameters": [
          {
            "name": "bank_name",
            "in": "query",
            "description": "Bank name to search for. At least one of bank_name, city, or postcode is required. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postcode",
            "in": "query",
            "description": "UK postcode (full or outward only, e.g. E14) to search for branches. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Available for annual subscriptions only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SortCodeOpenapi_BranchInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/spellcheck": {
      "get": {
        "summary": "Checks spelling and provides corrections for any text.",
        "description": "Checks the spelling of `text` and returns corrections. Input is capped at 50 characters on the free tier and 500 characters for premium subscribers.",
        "operationId": "spellCheck",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "description": "Input text. Maximum 50 characters for free tier, 500 characters for premium subscribers.",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 500
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpellCheckResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Spell Check"
        ]
      }
    },
    "/v1/stars": {
      "get": {
        "summary": "Get a list of stars",
        "description": "Get a list of stars matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of the star.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "constellation",
            "in": "query",
            "description": "The constellation that the star belongs to.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_apparent_magnitude",
            "in": "query",
            "description": "Minimum apparent magnitude brightness of the star.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_apparent_magnitude",
            "in": "query",
            "description": "Maximum apparent magnitude brightness of the star.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_absolute_magnitude",
            "in": "query",
            "description": "Minimum absolute magnitude brightness of the star.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_absolute_magnitude",
            "in": "query",
            "description": "Maximum absolute magnitude brightness of the star.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_distance_light_year",
            "in": "query",
            "description": "Minimum distance the star is from Earth in light years.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_distance_light_year",
            "in": "query",
            "description": "Maximum distance the star is from Earth in light years.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of stars",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Star"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/StarsOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/StarsOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/StarsOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Stars"
        ]
      }
    },
    "/v1/stockexchange": {
      "get": {
        "summary": "Get stock exchange information",
        "description": "Returns stock exchange details matching a MIC, name, city, or country, including trading hours and number of listings. For every exchange use /allstockexchanges.",
        "operationId": "getStockExchange",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "mic",
            "in": "query",
            "description": "Market Identifier Code (e.g., XNYS).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Stock exchange name (supports partial matching).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City where the exchange is located.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country code in ISO2 format (e.g., US).",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockExchange"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Stock Exchange"
        ]
      }
    },
    "/v1/allstockexchanges": {
      "get": {
        "summary": "Get all stock exchanges (Business and Professional tier only)",
        "description": "Returns every supported stock exchange in one call. To look up one exchange by MIC, name, city, or country use /stockexchange. Business and Professional tiers only.",
        "operationId": "getAllStockExchanges",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockExchange"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - Business or Professional tier required"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Stock Exchange"
        ]
      }
    },
    "/v1/stockexchangehours": {
      "get": {
        "summary": "Check stock exchange hours and open/closed status (Business and Professional tier only)",
        "operationId": "getStockExchangeHours",
        "description": "Check if stock exchanges are open on a specific date or at a specific point in time. Returns trading hours (adjusted for early closures and holidays) and open/closed status.",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "description": "Date in yyyy-mm-dd format. Returns whether exchanges are open on that date and the trading hours. Must not be combined with timestamp.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "description": "Unix timestamp in seconds. Returns whether exchanges are open at that exact moment in time and the trading hours. Must not be combined with date.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "mic",
            "in": "query",
            "description": "Market Identifier Code (e.g., XNYS). If not set, returns data for all exchanges.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExchangeStatus"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - Business or Professional tier required"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Stock Exchange"
        ]
      }
    },
    "/v1/stockexchangeholidays": {
      "get": {
        "summary": "Get stock exchange holiday calendars (Business and Professional tier only)",
        "operationId": "getStockExchangeHolidays",
        "description": "Returns holiday calendars for stock exchanges, including full closures and early close days. If no parameters are specified, returns holidays for all exchanges.",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "mic",
            "in": "query",
            "description": "Market Identifier Code (e.g., XNYS). Filters results to a specific exchange.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Stock exchange name (supports partial matching).",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExchangeHolidays"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - Business or Professional tier required"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Stock Exchange"
        ]
      }
    },
    "/v1/stocknews": {
      "get": {
        "tags": [
          "Stock News"
        ],
        "summary": "Get latest stock news headlines",
        "description": "Returns up to 50 of the latest stock-market news headlines, sorted most recent first. Optionally filter by one or more ticker symbols. This endpoint is available to premium subscribers only.",
        "operationId": "getStockNews",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "description": "Single ticker (e.g., AAPL) or comma-separated tickers (e.g., AAPL,MSFT). If omitted, the most recent news across all publishers is returned.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination offset. Each page has 50 results. Maximum 10000.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0,
              "maximum": 10000
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Filter to a single calendar day (UTC). Format YYYY-MM-DD. Mutually exclusive with start_date/end_date.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Inclusive lower bound on published date (UTC). Format YYYY-MM-DD.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Inclusive upper bound on published date (UTC). Format YYYY-MM-DD.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockNewsItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request (invalid parameters or non-premium subscriber)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockNewsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockNewsOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockNewsOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/stockprice": {
      "get": {
        "tags": [
          "Stock Price"
        ],
        "summary": "Get current stock price",
        "description": "Returns the current price of a stock or market index. Requires a `ticker` such as AAPL or ^DJI. For past prices and OHLC bars use /stockpricehistorical.",
        "operationId": "getCurrentStockPrice",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "description": "Stock or index ticker symbol (e.g., AAPL or ^DJI).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/stockpricehistorical": {
      "get": {
        "tags": [
          "Stock Price"
        ],
        "summary": "Get historical stock prices",
        "description": "Returns historical price bars for a stock at intervals from 1 minute to 1 day over an optional Unix `start`/`end` range. Requires a `ticker`. For the latest price use /stockprice.",
        "operationId": "getHistoricalStockPrice",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "description": "Stock ticker symbol (e.g., AAPL).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "description": "Time interval between data points from 1 minute to 1 day. Valid values are: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Default is 1h.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "1h",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "4h",
                "1d"
              ]
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "Start timestamp in Unix format. If not provided, defaults to approximately the most recent 900 data points for the chosen period. Requests reaching further back than 5 years require a Business, Professional, Enterprise, or annual subscription.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "End timestamp in Unix format. If not provided, defaults to current time.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "open": {
                        "type": "number"
                      },
                      "low": {
                        "type": "number"
                      },
                      "high": {
                        "type": "number"
                      },
                      "close": {
                        "type": "number"
                      },
                      "volume": {
                        "type": "integer"
                      },
                      "time": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/stockpricelist": {
      "get": {
        "tags": [
          "Stock Price"
        ],
        "summary": "Get list of all available companies",
        "description": "Returns a list of all available companies and their ticker symbols. Supports pagination to retrieve results in batches. Premium only.",
        "operationId": "getStockPriceList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to offset for pagination. Default is 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to return. Must be between 1 and 1000. Default is 100.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "minimum": 1,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StockPriceOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/stocksplit": {
      "get": {
        "tags": [
          "Stock Split"
        ],
        "summary": "Get stock split records matching your filters",
        "description": "Returns historical and upcoming stock split records filtered by ticker, exchange, forward or reverse split type, and a single date or date range.",
        "operationId": "getStockSplit",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Company ticker symbol. For U.S.-listed stocks use the bare symbol (e.g. GOOG); for international listings include the exchange suffix as the symbol trades (e.g. 7203.T for Toyota on Tokyo, RELIANCE.NS for Reliance on NSE India). Returns that company's full split history.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "Filter results to a single exchange by its code - for example US, JPX (Tokyo), LSE (London), HKSE (Hong Kong), or NSE (India).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "split_type",
            "in": "query",
            "required": false,
            "description": "Filter by split direction: forward (e.g. 4-for-1) or reverse (a consolidation, e.g. 1-for-10).",
            "schema": {
              "type": "string",
              "enum": [
                "forward",
                "reverse"
              ]
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Single date in YYYY-MM-DD format. Cannot be combined with date_start or date_end.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_start",
            "in": "query",
            "required": false,
            "description": "Range start in YYYY-MM-DD format. Free-tier users cannot query earlier than 24 months ago.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_end",
            "in": "query",
            "required": false,
            "description": "Range end in YYYY-MM-DD format.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results to return. Default 50, max 1000.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of results to skip for pagination. Default 0.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockSplit"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/sudokugenerate": {
      "get": {
        "summary": "Generate a new Sudoku puzzle",
        "description": "Generates a new Sudoku puzzle at a chosen box width, height, difficulty and optional seed for reproducible output. To solve an existing puzzle use /sudokusolve.",
        "operationId": "generateSudoku",
        "parameters": [
          {
            "name": "width",
            "in": "query",
            "description": "Width of each box in the Sudoku grid. Default is 3. Must be between 2 and 4.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 3,
              "minimum": 2,
              "maximum": 4
            }
          },
          {
            "name": "height",
            "in": "query",
            "description": "Height of each box in the Sudoku grid. Default is 3. Must be between 2 and 4.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 3,
              "minimum": 2,
              "maximum": 4
            }
          },
          {
            "name": "difficulty",
            "in": "query",
            "description": "Difficulty level of the puzzle. Possible values: easy, medium, hard. Default is medium.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "medium",
              "enum": [
                "easy",
                "medium",
                "hard"
              ]
            }
          },
          {
            "name": "seed",
            "in": "query",
            "description": "Seed value for reproducible puzzle generation.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A Sudoku puzzle and its solution",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SudokuResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Sudoku"
        ]
      }
    },
    "/v1/sudokusolve": {
      "post": {
        "summary": "Solve an existing Sudoku puzzle",
        "description": "Solves a Sudoku puzzle supplied in the request body. Requires the grid's box `width` and `height`. To create a new puzzle instead use /sudokugenerate.",
        "operationId": "solveSudoku",
        "parameters": [
          {
            "name": "width",
            "in": "query",
            "description": "Width of each box in the Sudoku grid. Must be between 2 and 4.",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 2,
              "maximum": 4
            }
          },
          {
            "name": "height",
            "in": "query",
            "description": "Height of each box in the Sudoku grid. Must be between 2 and 4.",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 2,
              "maximum": 4
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Puzzle"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The solution of the Sudoku puzzle",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SolveResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Sudoku"
        ]
      }
    },
    "/v1/swiftcode": {
      "get": {
        "summary": "Find SWIFT Codes",
        "description": "Returns a list of bank information (including SWIFT/BIC Code) that match the input parameter. Returns at most 100 results. For more results, use the offset parameter.",
        "operationId": "findSwiftCodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/swift"
          },
          {
            "$ref": "#/components/parameters/bank"
          },
          {
            "$ref": "#/components/parameters/SwiftCodeOpenapi_city"
          },
          {
            "$ref": "#/components/parameters/SwiftCodeOpenapi_country"
          },
          {
            "$ref": "#/components/parameters/routing_number"
          },
          {
            "$ref": "#/components/parameters/SwiftCodeOpenapi_offset"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of bank information including SWIFT/BIC codes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwiftCodeOpenapi_BankInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwiftCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwiftCodeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwiftCodeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "SWIFT Code"
        ]
      }
    },
    "/v1/textlanguage": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Detects the language of the given text.",
        "description": "Detects which language a text is written in, across over 50 supported languages. Requires `text` of at most 1000 characters.",
        "operationId": "detectLanguage",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "description": "Input text (10 words or more recommended). Maximum 1000 characters.",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/LanguageDetectionSuccess"
          },
          "400": {
            "$ref": "#/components/responses/TextLanguageOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/TextLanguageOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/TextLanguageOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/textsimilarity": {
      "post": {
        "tags": [
          "Text Similarity"
        ],
        "summary": "Compute text similarity score",
        "description": "Returns a similarity score between 0 and 1 (1 is similar and 0 is dissimilar) of two given texts.",
        "operationId": "computeTextSimilarity",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "description": "Input texts to compare for similarity.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TextSimilarityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with the similarity score.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextSimilarityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid request format or parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextSimilarityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextSimilarityOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error - An error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextSimilarityOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/thesaurus": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Get synonyms and antonyms for a word",
        "description": "Returns the synonyms (similar words) and antonyms (opposite meanings) of a single English word. Requires a `word` to look up.",
        "operationId": "getThesaurus",
        "parameters": [
          {
            "name": "word",
            "in": "query",
            "description": "Word to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThesaurusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/ticker": {
      "get": {
        "summary": "Get detailed company profile information for any given ticker symbol",
        "description": "Returns the company profile for a ticker symbol, including executive details, financial metrics, identifiers, and contact information. Requires a `ticker`.",
        "operationId": "getTicker",
        "tags": [
          "Ticker"
        ],
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "description": "Stock ticker symbol (e.g., AAPL).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/tickersearch": {
      "get": {
        "summary": "Search for ticker symbols by company name",
        "description": "Searches ticker symbols by company name, with optional negative keywords to exclude matches. Requires a `name`. For the full profile of a symbol use /ticker.",
        "operationId": "searchTickers",
        "tags": [
          "Ticker"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Company name to search for (e.g., Apple).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "negative_keywords",
            "in": "query",
            "description": "Comma-separated list of keywords to filter out from results. If any negative keyword appears in a company name (case-insensitive), that result will be excluded (e.g., pineapple,appleseed).",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TickerSearchResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/timezone": {
      "get": {
        "summary": "Get timezone info by city/state/country or location coordinates.",
        "description": "Returns the IANA timezone and current local time for a location given as `lat`/`lon`, `city`, or an explicit `timezone` name.",
        "operationId": "getTimezone",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/timezone"
          },
          {
            "$ref": "#/components/parameters/TimezoneOpenapi_lat"
          },
          {
            "$ref": "#/components/parameters/TimezoneOpenapi_lon"
          },
          {
            "$ref": "#/components/parameters/TimezoneOpenapi_city"
          },
          {
            "$ref": "#/components/parameters/state"
          },
          {
            "$ref": "#/components/parameters/TimezoneOpenapi_country"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimezoneResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimezoneOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimezoneOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimezoneOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Timezone"
        ]
      }
    },
    "/v1/treasuryyield": {
      "get": {
        "summary": "Get the current (or a specific day's) Treasury yield curve.",
        "description": "Returns the US Treasury yield curve for one day, latest by default: par, real (TIPS) or bill rates with spreads. For a date range use /treasuryyieldhistorical. Deep history is premium.",
        "operationId": "getTreasuryYield",
        "tags": [
          "Treasury Yield"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Curve type: par (default), real, bill, or all (combined; premium).",
            "schema": {
              "type": "string",
              "enum": [
                "par",
                "real",
                "bill",
                "all"
              ],
              "default": "par"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Business day (YYYY-MM-DD). Defaults to latest. Deep past dates are premium.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "json (default) or csv.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The yield curve for the requested type and date.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreasuryYieldResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/treasuryyieldhistorical": {
      "get": {
        "summary": "Get a historical Treasury yield time series.",
        "description": "Returns a Treasury yield time series over a date range for the par, real or bill curve, for one `maturity` or, with premium, the whole curve. For a single day use /treasuryyield.",
        "operationId": "getTreasuryYieldHistorical",
        "tags": [
          "Treasury Yield"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Curve type: par (default), real, or bill.",
            "schema": {
              "type": "string",
              "enum": [
                "par",
                "real",
                "bill"
              ],
              "default": "par"
            }
          },
          {
            "name": "maturity",
            "in": "query",
            "required": false,
            "description": "Single maturity code (e.g. year_10, week_13). Omit for full-curve history (premium).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "description": "Start of range (YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "description": "End of range (YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "json (default) or csv.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Historical time series for the requested maturity.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreasuryYieldHistoricalResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/trivia": {
      "get": {
        "summary": "Get Trivia Questions",
        "description": "Returns a random trivia question and answer.",
        "operationId": "getTrivia",
        "parameters": [
          {
            "$ref": "#/components/parameters/TriviaOpenapi_category"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/TriviaOpenapi_safe"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of trivia questions and answers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Trivia"
        ]
      }
    },
    "/v1/triviaoftheday": {
      "get": {
        "summary": "Get Trivia of the Day",
        "description": "Returns a single trivia question and answer for the current day. The same question is returned for all requests on the same day, and changes each day. No filtering parameters are available for this endpoint to ensure everyone sees the same trivia of the day. Questions flagged as explicit are always excluded here.",
        "operationId": "getTriviaOfTheDay",
        "responses": {
          "200": {
            "description": "A single trivia question and answer for the current day.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriviaOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Trivia"
        ]
      }
    },
    "/v1/unemployment": {
      "get": {
        "tags": [
          "Places"
        ],
        "summary": "Get unemployment data for a given country.",
        "description": "Returns national unemployment rates, optionally filtered by `country` and `year`. Omit both to retrieve the latest figures across countries.",
        "operationId": "getUnemploymentData",
        "parameters": [
          {
            "$ref": "#/components/parameters/UnemploymentOpenapi_country"
          },
          {
            "$ref": "#/components/parameters/UnemploymentOpenapi_year"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with unemployment data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnemploymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnemploymentOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnemploymentOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnemploymentOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/unitconversion": {
      "get": {
        "tags": [
          "Miscellaneous"
        ],
        "summary": "Converts between different units of measurement.",
        "description": "Converts a numeric value from one unit of measurement to another. Requires `amount` and the source `unit`, with spaces written as underscores.",
        "operationId": "convertUnit",
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "description": "The numerical value to convert.",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "description": "The source unit to convert from. Spaces should be replaced with underscores.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitConversionResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/UnitConversionOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnitConversionOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/UnitConversionOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/university": {
      "get": {
        "summary": "Get information about universities and colleges worldwide",
        "description": "Returns institutions matching the provided filters, closest name matches first, then by enrollment (largest first). At least one filter parameter (excluding offset/limit) is required. Free users can use name or country; all other filters are premium only. Closed institutions are excluded unless status is set.",
        "operationId": "getUniversities",
        "tags": [
          "University"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of the institution to search for. Partial match, case- and accent-insensitive (e.g., \"Harvard\" matches \"Harvard University\"). Also matches native-language names (e.g., 東京大学), acronyms (e.g., UNAM), former names, and the names of schools within a university (e.g., \"Harvard Law School\" returns Harvard University). At least one filter parameter (excluding offset/limit) must be provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "description": "The country to filter by: an English country name or an ISO 3166 two- or three-letter code (e.g., Germany, DE or DEU). Case-insensitive. USA also returns US territories such as Puerto Rico and Guam. At least one filter parameter (excluding offset/limit) must be provided.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "The city where the institution is located. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "The state, province or region where the institution is located, as a code (e.g., MA, ON) or a name (e.g., Bavaria). Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "Same as state. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "description": "An email domain or email address (e.g., student.mit.edu or jane@ox.ac.uk). Returns the institutions that use the domain; subdomains are matched to their parent domain. Main institutions are listed before their campuses and affiliated units. Premium only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "level",
            "in": "query",
            "description": "The type of institution. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "university",
                "college",
                "polytechnic",
                "community_college",
                "vocational",
                "specialized"
              ]
            }
          },
          {
            "name": "control",
            "in": "query",
            "description": "Ownership. private means private with unknown profit status. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "public",
                "private_nonprofit",
                "private_forprofit",
                "private"
              ]
            }
          },
          {
            "name": "recognition",
            "in": "query",
            "description": "Set to recognized to return only institutions listed by a national education registry (e.g., IPEDS in the US, AISHE in India). Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "recognized"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "active (default), closed, or all. Closed institutions have stopped operating or merged into another institution. Premium only.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "active",
                "closed",
                "all"
              ],
              "default": "active"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Return a single institution by its id (from a previous response). Closed institutions are included. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_faculty_ratio",
            "in": "query",
            "description": "Minimum student-to-faculty ratio as a number (e.g., 15 for 15:1 ratio). US institutions only. Premium only.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_faculty_ratio",
            "in": "query",
            "description": "Maximum student-to-faculty ratio as a number (e.g., 20 for 20:1 ratio). US institutions only. Premium only.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_enrolled",
            "in": "query",
            "description": "Minimum number of enrolled students. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "max_enrolled",
            "in": "query",
            "description": "Maximum number of enrolled students. Premium only.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "min_tuition",
            "in": "query",
            "description": "Minimum published annual tuition and fees (in USD). US institutions only. Premium only.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_tuition",
            "in": "query",
            "description": "Maximum published annual tuition and fees (in USD). US institutions only. Premium only.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of results to skip. Must be zero or a positive integer. Default is 0. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of results to return. Must be between 1 and 30. Default is 10 for premium users, fixed at 5 for free users. Premium only.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 30,
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/University"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UniversityOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UniversityOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UniversityOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/urllookup": {
      "get": {
        "summary": "Lookup location information for a URL",
        "description": "Returns location information for a URL or domain name, including coordinates, city, country, and ISP details. Requires a `url`, with or without a scheme.",
        "operationId": "getUrlInfo",
        "tags": [
          "URL Lookup"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "Valid URL to check. It supports schemes (e.g. http://example.com) as well as schemeless (e.g. example.com) formats.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with location information of the URL.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlLookupResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid URL format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlLookupOpenapi_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API Key missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlLookupOpenapi_Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UrlLookupOpenapi_Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v2/useragentparse": {
      "get": {
        "tags": [
          "User Agent"
        ],
        "summary": "Parse User Agent String",
        "description": "Parses a user agent string to extract device, OS, and browser information. All response fields are top-level. Invalid or unrecognized user agents return HTTP 200 with is_valid false and invalid_reason set, and still return whatever browser, OS and device information could be parsed. A version newer than the latest known release is reported in warnings rather than treated as invalid.",
        "operationId": "parseUserAgent",
        "parameters": [
          {
            "name": "useragent",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User agent string to parse."
          }
        ],
        "responses": {
          "200": {
            "description": "Parse result. Check is_valid; when false, invalid_reason explains why, and the parsed fields are still populated where possible.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAgentParseResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request (e.g. missing useragent parameter)."
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/useragentgenerate": {
      "get": {
        "tags": [
          "User Agent"
        ],
        "summary": "Generate User Agent String",
        "description": "Generates a user agent string, optionally matching a device `brand`, `model`, `os` and `browser`. To parse an existing user agent string instead use /v2/useragentparse.",
        "operationId": "generateUserAgent",
        "parameters": [
          {
            "name": "brand",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Device brand (e.g. Apple, Samsung)"
          },
          {
            "name": "model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Device model (e.g. iPhone, Galaxy)"
          },
          {
            "name": "os",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Operating system (e.g. Windows, iOS, Android)"
          },
          {
            "name": "browser",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Browser name (e.g. Chrome, Firefox, Safari)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAgentGenerateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/validateemail": {
      "get": {
        "tags": [
          "Validate Email"
        ],
        "summary": "Validate an email address",
        "description": "Checks whether an `email` address is syntactically valid and has a deliverable mail domain. For disposable-address detection use /disposableemail.",
        "operationId": "validateEmail",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ValidateEmailOpenapi_email"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with the validation result of the email address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateEmailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid email format or missing email parameter.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateEmailOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - API key is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateEmailOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error - An error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateEmailOpenapi_ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/validatephone": {
      "get": {
        "tags": [
          "Validate Phone"
        ],
        "summary": "Validate a phone number and get its metadata",
        "description": "Validates a phone `number` and returns its normalised format, country and location. For carrier and line type use /phonelookup.",
        "operationId": "validatePhone",
        "parameters": [
          {
            "$ref": "#/components/parameters/ValidatePhoneOpenapi_number"
          },
          {
            "$ref": "#/components/parameters/ValidatePhoneOpenapi_country"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with phone number metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatePhoneResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatePhoneOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatePhoneOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatePhoneOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/vat": {
      "get": {
        "summary": "Get VAT rates for a specified EU country.",
        "description": "Returns current and historical VAT rates for a European Union country, filterable by rate type and date range. Requires a two-letter ISO `country` code.",
        "operationId": "getVATRates",
        "tags": [
          "VAT"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Two-letter country code (ISO 3166-1 alpha-2)."
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "standard",
                "reduced",
                "super_reduced",
                "exempted",
                "parking"
              ]
            },
            "description": "VAT rate type."
          },
          {
            "name": "min_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Filter results after this date (YYYY-MM-DD format)."
          },
          {
            "name": "max_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Filter results before this date (YYYY-MM-DD format)."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 5,
              "minimum": 1,
              "maximum": 30
            },
            "description": "Number of results to return (1-30). Default is 5."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Number of results to offset for pagination. Default is 0."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VATRateResponse"
          },
          "400": {
            "$ref": "#/components/responses/VatRatesOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/VatRatesOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/VatRatesOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/vatvalidation": {
      "get": {
        "summary": "Validate an EU VAT number.",
        "description": "Validates an EU VAT number by format, checksum, and live EU registry status. Requires a `vat` with country prefix. Company name and address require a premium plan.",
        "operationId": "validateVATNumber",
        "tags": [
          "VAT Validation"
        ],
        "parameters": [
          {
            "name": "vat",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The VAT number to validate, with 2-letter country prefix (e.g. FR40303265045). Spaces, dots, and hyphens are tolerated. May omit the prefix when the country parameter is set."
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Two-letter country code (e.g. DE). Optional when the vat parameter includes a country prefix. GR is accepted and canonicalized to EL."
          },
          {
            "name": "requester_vat",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Your own company's EU VAT number (with country prefix). Forces a live registry check and returns an official consultation_number as audit evidence. Premium only."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VATValidationResponse"
          },
          "400": {
            "$ref": "#/components/responses/VatValidationOpenapi_BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/VatValidationOpenapi_Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/VatValidationOpenapi_InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/vinlookup": {
      "get": {
        "summary": "Lookup vehicle information by VIN",
        "description": "Decodes a Vehicle Identification Number and returns the vehicle's details. Requires a `vin` that is exactly 17 characters long.",
        "operationId": "vinLookup",
        "tags": [
          "Transportation"
        ],
        "parameters": [
          {
            "name": "vin",
            "in": "query",
            "required": true,
            "description": "Valid VIN to check. Must be a 17-character string.",
            "schema": {
              "type": "string",
              "pattern": "^[A-HJ-NPR-Z0-9]{17}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vin": {
                      "type": "string",
                      "example": "JH4KA7561PC008269"
                    },
                    "country": {
                      "type": "string",
                      "example": "Japan"
                    },
                    "manufacturer": {
                      "type": "string",
                      "example": "Acura"
                    },
                    "model": {
                      "type": "string",
                      "example": "Legend"
                    },
                    "class": {
                      "type": "string",
                      "example": "Sedan/Saloon"
                    },
                    "region": {
                      "type": "string",
                      "example": "Asia"
                    },
                    "wmi": {
                      "type": "string",
                      "example": "JH4"
                    },
                    "vds": {
                      "type": "string",
                      "example": "KA7561"
                    },
                    "vis": {
                      "type": "string",
                      "example": "PC008269"
                    },
                    "year": {
                      "type": "string",
                      "example": "1993"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid VIN format"
          },
          "401": {
            "description": "Unauthorized - API Key missing or invalid"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/weather": {
      "get": {
        "summary": "Get current weather data",
        "description": "Get current weather, wind speed and direction, humidity, and temperature data by city, ZIP code, or geolocation coordinates (latitude/longitude). One of the following parameter combinations must be provided: lat and lon; or city, state (optional), and country (optional).",
        "operationId": "getCurrentWeather",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Latitude of desired location."
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Longitude of desired location."
          },
          {
            "name": "zip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "5 digit Zip code (United States only). Premium subscribers only."
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "City name. Premium subscribers only."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "US state (for United States cities only). Premium subscribers only."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Country name. Premium subscribers only."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Weather"
        ]
      }
    },
    "/v1/weatherforecast": {
      "get": {
        "summary": "Get a 5-day weather forecast in 3-hour intervals",
        "description": "Returns a 5-day weather forecast in 3-hour intervals for a given city. One of the following parameter combinations must be provided: lat and lon; zip; or city, state (optional), and country (optional).",
        "operationId": "getWeatherForecast",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Latitude of desired location."
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Longitude of desired location."
          },
          {
            "name": "zip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "5 digit Zip code (United States only). Premium subscribers only."
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "City name. Premium subscribers only."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "US state (for United States cities only). Premium subscribers only."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Country name. Premium subscribers only."
          }
        ],
        "responses": {
          "200": {
            "description": "A JSON array of weather forecast entries with the same fields as the Weather Response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForecastResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Weather"
        ]
      }
    },
    "/v1/weathericons": {
      "get": {
        "summary": "Get the complete weather icon catalog (Premium only)",
        "description": "Returns every light/dark SVG and 64/128/256-pixel PNG URL for the 74 icons, plus all 55 condition-code mappings. Requires an authenticated paid API Ninjas subscription; normal Weather API quotas apply. No anonymous demo access. No parameters required.",
        "operationId": "getWeatherIcons",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The complete catalog of 592 public image URLs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherIconCatalog"
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid API key, Premium subscription required, or quota exceeded."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Weather"
        ]
      }
    },
    "/v1/webscraper": {
      "get": {
        "summary": "Scrape data from a specified URL",
        "description": "Fetches a `url` and returns its contents, with `text_only` to strip markup. For the page title and metadata alone use /webpage.",
        "operationId": "scrapeData",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/url"
          },
          {
            "$ref": "#/components/parameters/text_only"
          },
          {
            "$ref": "#/components/parameters/user_agent"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebScraperResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebScraperOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebScraperOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebScraperOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Web Scraper"
        ]
      }
    },
    "/v1/webpage": {
      "get": {
        "summary": "Retrieve web page metadata",
        "description": "Returns the URL information and web page metadata from a given URL.",
        "operationId": "getWebpageMetadata",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "URL to retrieve information from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebpageResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Webpage"
        ]
      }
    },
    "/v1/whois": {
      "get": {
        "tags": [
          "Whois"
        ],
        "summary": "Get domain registration details",
        "description": "Returns WHOIS registration details for a `domain`, including registrar, creation and expiry dates. For risk and email-provider signals use /domain.",
        "operationId": "getWhois",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhoisOpenapi_domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhoisResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhoisOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhoisOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhoisOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/workingdays": {
      "get": {
        "summary": "Get working and non-working days",
        "description": "Returns the working and non-working days for a country across a year or a single month, with configurable weekends. Requires `country`. For one date use /isworkingday.",
        "operationId": "getWorkingDays",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "2-letter ISO country code."
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Calendar year between 1980 and 2050 (inclusive). By default, the current year is used."
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12
            },
            "description": "Month number (1-12). If provided, returns data for just that month."
          },
          {
            "name": "weekend",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of weekend days (mon, tue, wed, thu, fri, sat, sun)."
          },
          {
            "name": "public_holidays",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Whether to include public holidays as non-working days (true/false). Defaults to true."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkingDaysResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Working Days"
        ]
      }
    },
    "/v1/isworkingday": {
      "get": {
        "summary": "Check if a specific date is a working day",
        "description": "Reports whether one specific date is a working day in a given country. Requires `country` and `date`. For a whole month or year use /workingdays.",
        "operationId": "isWorkingDay",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "2-letter ISO country code."
          },
          {
            "name": "date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Date in YYYY-MM-DD format. Must be between 1980-01-01 and 2050-12-31 (inclusive)."
          },
          {
            "name": "weekend",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of weekend days (mon,tue,wed,thu,fri,sat,sun)."
          },
          {
            "name": "public_holidays",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Whether to include public holidays as non-working days (true/false). Defaults to true."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsWorkingDayResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Working Days"
        ]
      }
    },
    "/v1/worldtime": {
      "get": {
        "summary": "Get the current date and time",
        "description": "Get the current date and time by city/state/country, location coordinates (latitude/longitude), or timezone.",
        "operationId": "getWorldTime",
        "parameters": [
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_lat"
          },
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_lon"
          },
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_city"
          },
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_state"
          },
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_country"
          },
          {
            "$ref": "#/components/parameters/WorldTimeOpenapi_timezone"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorldTimeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorldTimeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorldTimeOpenapi_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorldTimeOpenapi_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "World Time"
        ]
      }
    },
    "/v1/zipcode": {
      "get": {
        "summary": "Get ZIP Code details",
        "description": "Returns a list of ZIP Code details matching the input parameters.",
        "parameters": [
          {
            "name": "zip",
            "in": "query",
            "description": "The ZIP Code to look up.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "Full name of the city to search (case-sensitive). Premium subscribers only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "2-letter abbreviation of the state (case-insensitive). Premium subscribers only.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZipCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Zip Code"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Advice",
      "description": "The Advice API provides random pieces of life advice to help guide and inspire. There are over 5000 pieces of advice to choose from!"
    },
    {
      "name": "Air Quality",
      "description": "The Air Quality API provides the latest air quality information for any city or geographic location in the world. It provides not only the holistic Air Quality Index (AQI) but also concentrations for major pollutants: Carbon monoxide (CO), Nitrogen dioxide (NO2), Ozone (O3), Sulphur dioxide (SO2), PM2.5 particulates, PM10 particulates."
    },
    {
      "name": "Aircraft",
      "description": "The Aircraft API provides technical specs on over 900 airplane models, from propeller planes to jumbo jets, and decodes ICAO and IATA aircraft type codes for over 2,600 aircraft types."
    },
    {
      "name": "Airlines",
      "description": "The Airlines API provides general and detailed fleet information for over 1,000 airlines from small, regional service providers to publicly-traded international carriers."
    },
    {
      "name": "Airports",
      "description": "The Airports API provides vital information on nearly 30,000 airports worldwide including major international airports and small regional airports. Includes endpoints for IATA/ICAO code conversion, great-circle distance between airports, autocomplete suggestions, and nearest-airport lookup by coordinate."
    },
    {
      "name": "Analytics",
      "description": "The Analytics API provides detailed usage analytics and API call history for your account. Track your API consumption, monitor usage patterns, and analyze which APIs you're calling most frequently. Calling this API does NOT consume any of your API quota."
    },
    {
      "name": "Animals",
      "description": "The Animals API provides interesting scientific facts on thousands of different animal species."
    },
    {
      "name": "Baby Names",
      "description": "The Baby Names API provides tens of thousands of unique and popular baby names for boys, girls, and gender-neutral names."
    },
    {
      "name": "Balance Sheet",
      "description": "The Balance Sheet API returns balance sheet data for any public company listed in the United States, including total assets, current and long-term liabilities, stockholders equity, cash and equivalents, total debt, goodwill, intangible assets, accounts receivable and payable, property plant and equipment, working capital, and retained earnings. All data is sourced from official SEC filings (10-Q, 10-K)."
    },
    {
      "name": "Bank Holidays",
      "description": "The Bank Holidays API returns the days on which banks and financial institutions are officially closed across over 230 countries, regions, and territories around the world. The endpoints are dedicated to banking-relevant closures only - every entry is of type BANK_HOLIDAY. Common use cases include settlement and clearing calendars (ACH, wire, SWIFT), treasury and cash management systems, trading and brokerage platforms, international payment scheduling, and loan amortization and interest accrual calendars."
    },
    {
      "name": "Barcode",
      "description": "The Barcode API generates custom barcodes for any text. It supports multiple barcode types, custom dimensions, and several image formats."
    },
    {
      "name": "BIN Lookup",
      "description": "Look up bank information from Bank Identification Numbers (BIN). Database includes hundreds of thousands of BINs worldwide."
    },
    {
      "name": "Bitcoin",
      "description": "The Bitcoin API provides access to the latest Bitcoin price and market data."
    },
    {
      "name": "BSB",
      "description": "The BSB API is a comprehensive BSB lookup and BSB checker tool. Validate any 6-digit Australian BSB number and retrieve the associated bank, branch, address, and supported payment systems."
    },
    {
      "name": "Bucket List",
      "description": "The Bucket List API provides thousands of innovative bucket list ideas for every type of person."
    },
    {
      "name": "Calories Burned",
      "description": "The Calories Burned API calculates the total calories burned for hundreds of sports and activities. It supports custom weight and duration."
    },
    {
      "name": "Canada Routing Number",
      "description": "The Canada Routing Number API allows you to look up Canadian bank information using a routing number, transit number, or institution number. Our database covers every Canadian bank, credit union, and caisse populaire branch, with up-to-date transit and institution data."
    },
    {
      "name": "Cars",
      "description": "Specifications for over 84,000 vehicles across 5,000+ models from over 400 makes. Look-ups are by name -- make=bmw&model=3-series -- and every car carries a handle you can store. /v2/cars answers a whole question in one call and always returns full specifications; /v2/carfacets builds dependent dropdowns without one request per level."
    },
    {
      "name": "Cash Flow",
      "description": "The Cash Flow API returns cash flow statement data for any public company listed in the United States, including operating cash flow, investing cash flow, financing cash flow, free cash flow, capital expenditures, share repurchases, and dividends paid. All data is sourced from official SEC filings (10-Q, 10-K)."
    },
    {
      "name": "Cats by API Ninjas",
      "description": "The Cats API provides detailed, qualitative information on every recognized cat breed."
    },
    {
      "name": "Celebrity",
      "description": "The Celebrity API provides the most popular information, such as net worth, profession, and birthday, on famous individuals all around the world. Our comprehensive database contains actors/actresses, athletes, politicians, business leaders, and much more."
    },
    {
      "name": "Chuck Norris",
      "description": "The Chuck Norris REST API provides thousands of funny Chuck Norris jokes for your entertainment app development needs."
    },
    {
      "name": "City",
      "description": "The City API provides useful statistics about tens of thousands of cities around the world."
    },
    {
      "name": "Cocktail",
      "description": "The Cocktail API allows you to search thousands of cocktail recipes by name or ingredients."
    },
    {
      "name": "Commodity Price",
      "description": "The Commodity Price API provides access to real-time and historical commodity prices for dozens of commonly-traded commodities. It also provides access to commodity contract information, full-catalog snapshots, and forward curves."
    },
    {
      "name": "Convert Currency",
      "description": "The Currency Conversion API allows you to convert pairs of currencies. Choose from over 100 different currencies."
    },
    {
      "name": "Counter",
      "description": "The Counter API provides a integer counter service for your application. The counters are stored in our database and can be accessed via IDs unique to the provided API key."
    },
    {
      "name": "Country Flag",
      "description": "The Country Flag API provides SVG flag images for any country, territory, or area of special interest (over 250 supported). The small file sizes are perfect for displaying flag icons on your website or populating a dropdown menu."
    },
    {
      "name": "Country",
      "description": "The Country API provides key geographic, demographic, and economic statistics about every country in the world."
    },
    {
      "name": "County",
      "description": "The County API enables you to look up detailed information for every county in the United States. You can search using various parameters including county name, ZIP code, or state."
    },
    {
      "name": "Covid-19",
      "description": "The Covid-19 API provides current and historical Covid-19 data for every country in the world. Available data includes confirmed case counts and deaths, and is updated everyday."
    },
    {
      "name": "Crypto Price",
      "description": "The Crypto Price API provides access to live market prices for several hundred different cryptocurrencies."
    },
    {
      "name": "Crypto Symbols",
      "description": "The Crypto Symbols API provides a list of all available cryptocurrency ticker symbols. It can be used in conjunction with the Crypto Price API to retrieve price data."
    },
    {
      "name": "Currency Volatility",
      "description": "Realized volatility, volatility cones, percentile rank, and EWMA/GARCH(1,1) forecasts for currency pairs, computed from daily historical exchange rates. Available to premium subscribers only."
    },
    {
      "name": "Dad Jokes",
      "description": "The Dad Jokes API provides thousands of hilarious dad jokes for your entertainment apps."
    },
    {
      "name": "Day in History",
      "description": "The Day in History API provides historical events that happened on a specific date. Free users receive events for today's date only - premium users can specify custom dates and control pagination."
    },
    {
      "name": "Dictionary",
      "description": "The Dictionary API allows you to look up definitions for any English word."
    },
    {
      "name": "Disposable Email Checker by API Ninjas",
      "description": "This API allows you to check if an email address is from a disposable email provider."
    },
    {
      "name": "DNS Lookup",
      "description": "The DNS Lookup API retrieves DNS records for any given domain. Currently supports A, AAAA, CNAME, MX, NS, PTR, SRV, SOA, TXT, and CAA record types."
    },
    {
      "name": "Dogs",
      "description": "The Dogs API provides detailed, qualitative information on over 200 different breeds of dogs."
    },
    {
      "name": "Domain",
      "description": "The Domain API checks domain availability and retrieves basic registration information for any given domain. For detailed domain registration information from the WHOIS protocol, check out our Whois API instead."
    },
    {
      "name": "Earnings Calendar",
      "description": "The Earnings Calendar API provides access to earnings results and upcoming earning dates for all major companies."
    },
    {
      "name": "Earnings Call Transcript",
      "description": "The Earnings Call Transcript API provides access to full transcripts of earnings calls for major companies every quarter."
    },
    {
      "name": "Earnings",
      "description": "The Earnings API provides comprehensive earnings report data for any company, including financial statements, balance sheets, cash flow statements, and key financial metrics. All data is sourced from official SEC filings (10-Q, 10-K)."
    },
    {
      "name": "Electric Vehicle",
      "description": "The Electric Vehicle API provides detailed data on electric vehicles including range, battery capacity, charging time, and performance metrics."
    },
    {
      "name": "Embeddings",
      "description": "The Embeddings API encodes any text into a vector using state-of-the-art NLP machine learning models. It can be used to power semantic search, text comparison tools, recommendation engines, and much more."
    },
    {
      "name": "Emoji",
      "description": "The Emoji API provides image and metadata for all Unicode emojis. The data is updated periodically to fetch new emojis."
    },
    {
      "name": "ETF",
      "description": "The ETF API provides detailed information about Exchange-Traded Funds including their holdings, expense ratios, assets under management, identifiers, and trailing total-return performance sourced from SEC Form N-PORT filings. It also exposes endpoints to list and search across all supported ETFs."
    },
    {
      "name": "Euribor",
      "description": "The Euribor API provides current Euribor (Euro Interbank Offered Rate) rates for different maturities, from 1 week to 12 months. Euribor is a key benchmark interest rate at which Eurozone banks lend to one another."
    },
    {
      "name": "EV Charger",
      "description": "The EV Charger API helps you find electric vehicle charging stations in nearly 100 countries around the world. Get details like connector types, pricing, availability status, and more."
    },
    {
      "name": "Exchange Rate",
      "description": "The Exchange Rate API provides exchange rates on global currencies. Choose from hundreds of different currency pairs.\n\nAvailable endpoints:\n- GET /v1/exchangerate — current exchange rate for a given currency pair.\n- GET /v1/exchangeratehistorical — daily historical exchange rates back to 1999-01-01 (premium)."
    },
    {
      "name": "Executive Compensation",
      "description": "The Executive Compensation API returns the pay of named executive officers (CEO, CFO, and the next three highest-paid officers) for US public companies, sourced directly from SEC proxy statements (form DEF 14A). Each record includes salary, bonus, stock and option awards, non-equity incentive, pension and deferred compensation change, all other compensation, and total, plus the structured Pay Versus Performance disclosure (Compensation Actually Paid, total shareholder return, net income). The free tier returns the CEO's total for the latest fiscal year; premium plans unlock the full breakdown, all executives, historical years, and Pay Versus Performance."
    },
    {
      "name": "Exercises",
      "description": "The Exercises API provides access to a comprehensive list of thousands of exercises targeting every major muscle group."
    },
    {
      "name": "Face Detect",
      "description": "The Face Detect API uses state of the art computer vision algorithms to accurately and efficiently detect faces in images."
    },
    {
      "name": "Facts",
      "description": "The Facts API provides tons of random interesting facts about science, literature, philosophy, and other cool topics."
    },
    {
      "name": "GDP",
      "description": "The GDP API provides current and historical GDP (Gross Domestic Product) data for countries around the world."
    },
    {
      "name": "Geocoding",
      "description": "The Geocoding API converts between place names and coordinates in both directions: /geocoding turns a city, state, or US ZIP code into latitude and longitude, and /reversegeocoding turns coordinates back into the nearest city, state, and country. Both resolve place names, not street addresses. Results are enriched well beyond the coordinate pair: every lookup also returns the administrative hierarchy with ISO 3166-2 codes, IANA timezone, population, elevation, country context (currency, calling code, languages, EU/EEA membership) and alternative coordinate formats such as Plus Codes and geohash. Premium subscribers additionally receive climate zone, degree of urbanisation, land/water status and the nearest airport."
    },
    {
      "name": "Gold Price",
      "description": "The Gold Price API provides access to real-time and historical gold futures prices in the Chicago Mercantile Exchange (CME)."
    },
    {
      "name": "Helicopter",
      "description": "The Helicopter API provides detailed technical specs on hundreds of helicopter models."
    },
    {
      "name": "Historical Events",
      "description": "The Historical Events API allows you to search for famous events in history, from ancient antiquity to modern times, across all parts of human civilization."
    },
    {
      "name": "Historical Figures",
      "description": "The Historical Figures API allows you to search for famous (or infamous) people in history. From ancient civilizations to the current decade, our database contains a wide range of notable individuals from all walks of life."
    },
    {
      "name": "Hobbies",
      "description": "The Hobbies API provides thousands of interesting hobby ideas for all types of environments."
    },
    {
      "name": "Holidays",
      "description": "The Holidays API provides holiday information on over 230 countries, regions, and territories around the world. It contains holiday data going back previous years as well as calendars in the future. The data includes public holidays, different religious dates, bank holidays, and many other categories."
    },
    {
      "name": "Horoscope",
      "description": "The Horoscope API provides daily horoscopes for all zodiac signs."
    },
    {
      "name": "Hospitals",
      "description": "The Hospitals API provides detailed information about hospitals in the United States including location, contact information, bed count, and more."
    },
    {
      "name": "IBAN",
      "description": "The IBAN API allows you to look up and validate any International Bank Account Number (IBAN)."
    },
    {
      "name": "Image to Text",
      "description": "The Image to Text API detects and extracts text from images using state-of-the-art optical character recognition (OCR) algorithms. It can detect texts of different sizes, fonts, and even handwriting."
    },
    {
      "name": "Income Statement",
      "description": "The Income Statement API returns income statement data for any public company listed in the United States, including revenue, gross profit, operating income, net income, earnings per share, and detailed expense breakdowns (cost of revenue, R&D, sales & marketing, G&A, stock-based compensation, and more). All data is sourced from official SEC filings (10-Q, 10-K)."
    },
    {
      "name": "Income Tax Calculator",
      "description": "The Income Tax Calculator API calculates detailed tax information based on income, location, and filing status using the latest tax rates for the United States (including state income tax and FICA) and Canada (including provincial income tax)."
    },
    {
      "name": "Income Tax",
      "description": "The Income Tax API provides detailed information about current and historical income tax rates for different countries, including federal and state/provincial levels."
    },
    {
      "name": "Inflation",
      "description": "The Inflation API provides current economic inflation data for major countries, with options for CPI and HICP indicators."
    },
    {
      "name": "Insider Transactions",
      "description": "The Insider Transactions API provides comprehensive insider trading transaction data from SEC filings (Form 3, Form 4, Form 5). Search and filter transactions by company, insider, transaction type, date range, and more."
    },
    {
      "name": "Institutional Holdings",
      "description": "The Institutional Holdings API exposes institutional investment-manager holdings parsed from SEC Form 13F-HR filings, sourced directly from SEC EDGAR. Free accounts can query the most recent quarter; historical quarters and the analytics endpoints require a paid plan."
    },
    {
      "name": "Interest Rate",
      "description": "The Interest Rate API provides current central bank interest rates for over 2 dozen countries, major benchmark rates such as SOFR, EFFR, and EURIBOR, and bank prime / base lending rates for the US, Canada, Japan, South Africa, China, Malaysia and Brazil."
    },
    {
      "name": "IP Lookup",
      "description": "The IP Lookup API provides location information for any valid IP address. It works with both IPv4 and IPv6 addresses."
    },
    {
      "name": "IPO",
      "description": "The IPO API provides access to past, current, and upcoming Initial Public Offerings (IPOs) for U.S. companies, sourced directly from SEC EDGAR. Filter by ticker, CIK, date range, status, deal type, exchange, and industry."
    },
    {
      "name": "Jokes",
      "description": "The Jokes API provides funny jokes from the Internet about pop culture, science, history, and other awesome topics."
    },
    {
      "name": "LIBOR",
      "description": "The LIBOR API provides historical LIBOR (London Interbank Offered Rate) data for all tenors from overnight to 12 months. LIBOR is a key benchmark interest rate at which major global banks lend to one another."
    },
    {
      "name": "Logo",
      "description": "The Logo API provides logo images for tens of thousands of different public and private companies."
    },
    {
      "name": "Lorem Ipsum",
      "description": "The Lorem Ipsum API generates configurable lorem ipsum placeholder text for your application."
    },
    {
      "name": "Market Cap",
      "description": "The Market Cap API provides access to real-time market cap data for companies in all major exchanges."
    },
    {
      "name": "Metals Price",
      "description": "The Metals Price API returns live spot prices for gold (XAU), silver (XAG), platinum (XPT), palladium (XPD), copper, and aluminum, with the matching futures price and contract in the same response. Prices convert to any major currency and weight unit (troy ounce, gram, kilogram, pound). The free tier returns the last daily close for every metal; premium plans return live prices with bid and ask."
    },
    {
      "name": "Mortgage Calculator",
      "description": "The Mortgage Calculator API provides detailed mortgage and other home financing payment information. It uses the standard mortgage calculation formulas to calculate interest and monthly/annual payments."
    },
    {
      "name": "Mortgage Rate",
      "description": "The Mortgage Rate API provides access to current and historical mortgage rate data going back decades."
    },
    {
      "name": "Motor Carrier",
      "description": "Look up any US motor carrier, broker or freight forwarder by USDOT or docket (MC) number. Returns identity, operating authority, insurance filings, safety rating, out-of-service status, and crash and inspection history, sourced from public Federal Motor Carrier Safety Administration records.\n\nAPI Ninjas is not affiliated with, endorsed by, or sponsored by the US Department of Transportation or FMCSA. This API is not a consumer report and may not be used for employment, credit, tenant screening or individual insurance underwriting. United States only."
    },
    {
      "name": "Motorcycles",
      "description": "The Motorcycles API provides highly-detailed technical data on over 20,000 motorcycle models from over 600 makes."
    },
    {
      "name": "Mutual Fund",
      "description": "The Mutual Fund API provides detailed information about Mutual Funds including their holdings, expense ratios, assets under management, identifiers, and trailing total-return performance sourced from SEC Form N-PORT filings."
    },
    {
      "name": "MX Lookup",
      "description": "The MX Lookup API retrieves mail exchange (MX) records for any given domain."
    },
    {
      "name": "NAICS Code",
      "description": "Look up any North American Industry Classification System (NAICS) 2022 code: official title, description, full hierarchy, the 20,373 official Census index terms and 4,601 cross-reference rules, plus a crosswalk to NAICS 2017. Adds the SBA small-business size standard for a code (13 CFR 121.201), rule-based classification of a business description to a single defensible code, and an industry risk profile for KYB and underwriting screening.\n\nNAICS is a work of the U.S. Government and is in the public domain under 17 U.S.C. 105. API Ninjas is not affiliated with, endorsed by, or sponsored by the U.S. Census Bureau, the U.S. Office of Management and Budget, or the U.S. Small Business Administration.\n\nSize-standard results are informational and are not SBA size determinations. The risk profile describes an industry, never a specific business; it is not a compliance determination, not a consumer report, and must not be the sole basis for denying service to a business."
    },
    {
      "name": "Nutrition",
      "description": "The Nutrition API extracts nutrition information from text using natural language processing. It can read any text and calculate the corresponding nutrition data, automatically scaling the nutrition data in the result accordingly if quantities are specified. Branded/packaged foods can be looked up by barcode."
    },
    {
      "name": "Object Detection",
      "description": "The Object Detection API provides fast and accurate image object recognition using advanced neural networks developed by machine learning experts."
    },
    {
      "name": "Oil Price",
      "description": "The Oil Price API provides real-time and historical prices for the major crude oil and energy benchmarks: WTI crude oil, Brent crude oil, natural gas, heating oil, and RBOB gasoline. Prices are returned in clean JSON with optional currency and unit conversion. The free tier returns the daily closing price for WTI and Brent; premium plans unlock real-time prices, all benchmarks, conversion, and historical OHLCV data."
    },
    {
      "name": "Password Generator",
      "description": "The Password Generator API auto-generates random passwords that are incredibly hard to guess."
    },
    {
      "name": "Phone Lookup",
      "description": "The Phone Lookup API returns line intelligence for a phone number: carrier, line type, VOIP status, and MCC/MNC, worldwide."
    },
    {
      "name": "PIN Code",
      "description": "The PIN Code API looks up Indian PIN codes (Postal Index Numbers) and returns the city, district, state and coordinates. One PIN code often covers several localities, so responses are always an array. For postal codes outside India, use the Postal Code API."
    },
    {
      "name": "Planets",
      "description": "The Planets API provides key statistics for thousands of planets and exoplanets discovered in the known universe."
    },
    {
      "name": "Population",
      "description": "The Population API provides historical, current, and projected future population statistics about every country in the world."
    },
    {
      "name": "Postal Code",
      "description": "The Postal Code API enables you to look up detailed information for postal codes in Canada. You can input postal codes directly, or search for postal codes using city and province parameters."
    },
    {
      "name": "Profanity Filter",
      "description": "The Profanity Filter API detects and censors swear words, bad words, and profanity in any text."
    },
    {
      "name": "Property Tax",
      "description": "The Property Tax API allows you to retrieve property tax rates for different locations in the United States by specifying parameters such as state, county, city, or zip. You can input location details and retrieve corresponding effective property tax rates."
    },
    {
      "name": "Public Holidays",
      "description": "The Public Holidays API provides public holiday information for countries around the world. Get holiday data from 1980 to 2050 for over 100 countries."
    },
    {
      "name": "QR Code",
      "description": "The QRCode API generates custom QR codes for any content. It supports custom colors, size, and several image formats."
    },
    {
      "name": "Quotes",
      "description": "The Quotes API provides tens of thousands of carefully curated, aphoristic quotes from famous people throughout history. All quotes are pre-vetted and pre-processed by our data team to ensure quality and selected specifically for their memorable and thought-provoking nature."
    },
    {
      "name": "Random Image",
      "description": "The Random Image API generates random images for all your placeholder and design needs. It supports custom sizes as well as custom image categories."
    },
    {
      "name": "Random User",
      "description": "The Random User API generates fake random user data such as name, email, address, username for placeholders or application testing. Supports customizable fields, filtering, and localization."
    },
    {
      "name": "Random Word",
      "description": "The Random Word API generates unique and interesting words for songs, games, and education applications."
    },
    {
      "name": "Recipe",
      "description": "The Recipe API provides access to hundreds of thousands of creative recipes from all cuisines with detailed nutrition information."
    },
    {
      "name": "Rhyme",
      "description": "The Rhyme API allows you to look up rhyming words for any given English word."
    },
    {
      "name": "Riddles",
      "description": "The Riddles API provides quality riddles perfect for entertainment apps."
    },
    {
      "name": "Routing Number",
      "description": "The Routing Number API allows you to look up bank information using routing numbers. Our database contains over 28,000 routing numbers from banks across the United States."
    },
    {
      "name": "Sales Tax Calculator by API Ninjas",
      "description": "The Sales Tax Calculator API provides accurate and detailed sales tax calculations for any purchase amount in the United States, including tax breakdowns and total amounts."
    },
    {
      "name": "Sales Tax",
      "description": "The Sales Tax API provides accurate and detailed sales tax breakdowns for every ZIP code, city, and state in the United States, plus economic nexus thresholds for all 50 states and DC."
    },
    {
      "name": "Sanctions Screening",
      "description": "The Sanctions Screening API screens a name (person, entity, vessel, or aircraft) against major government sanctions lists with fuzzy name matching and returns ranked matches with confidence scores.\n\nAvailable endpoints:\n- GET /v1/sanctionsscreening — screen a single name against the configured sanctions lists.\n\nThis data is informational only and is not a substitute for a full compliance KYC program.\n\nScreen results are not retained on our servers. If you need an audit trail of historical screens (for example, to evidence what list versions were active when a customer was onboarded), store the full response payload on your end."
    },
    {
      "name": "SEC",
      "description": "The SEC API allows you to search millions of SEC filings from thousands of public companies."
    },
    {
      "name": "Sentiment",
      "description": "The Sentiment API provides fast and accurate sentiment analysis results for any given text."
    },
    {
      "name": "Short Interest",
      "description": "Official US short interest as reported to FINRA under Rule 4560, covering 22,000+ exchange-listed and OTC equity securities with history back to December 2017. Enriched with data FINRA does not publish: short percent of shares outstanding and of public float (from SEC filings), dollar notional short, and a two-year percentile showing where the current reading sits in the stock's own range. Companion endpoints cover daily short volume, SEC fails-to-deliver, and the settlement/publication calendar. Short interest is bi-weekly (24 times a year), published on the seventh business day after each settlement date."
    },
    {
      "name": "Sort Code",
      "description": "The Sort Code API allows you to look up and validate any UK sort code. Free sort code checker and sort code lookup for every UK bank branch."
    },
    {
      "name": "Spell Check",
      "description": "The Spell Check API checks spelling and provides corrections for any text."
    },
    {
      "name": "Stars",
      "description": "The Stars API provides key statistics for thousands of stars discovered in the known universe."
    },
    {
      "name": "Stock Exchange",
      "description": "The Stock Exchange API provides comprehensive information about over 100 markets around the world, including trading hours, location details, and number of listings."
    },
    {
      "name": "Stock News",
      "description": "The Stock News API returns the latest stock-market news headlines aggregated from major financial publishers, optionally filtered by one or more ticker symbols. Results are always sorted most recent first."
    },
    {
      "name": "Stock Price",
      "description": "The Stock Price API provides access to real-time and historical stock market prices for companies in every major exchange around the world. Market index prices are also available."
    },
    {
      "name": "Stock Split",
      "description": "The Stock Split API provides historical and upcoming stock split data for companies listed on the world's largest stock exchanges. Look up a company's full split history by ticker, or query a forward / reverse split calendar by date range and exchange."
    },
    {
      "name": "Sudoku",
      "description": "The Sudoku API allows you to generate and solve Sudoku puzzles of various sizes and difficulty levels."
    },
    {
      "name": "SWIFT Code",
      "description": "The SWIFT Code API allows you to find the SWIFT (also known as BIC or Business Identifier Code) for any bank in the world. Our database contains hundreds of thousands of different bank branches on file."
    },
    {
      "name": "Text Language",
      "description": "The Text Language API detects the language of any given text, supporting over 50 different languages."
    },
    {
      "name": "Text Similarity",
      "description": "The Text Similarity API computes the similarity score between two pieces of text using state-of-the-art NLP machine learning models."
    },
    {
      "name": "Thesaurus",
      "description": "The Thesaurus API allows you to look up synonyms (similar words) and antonyms (opposite-meaning words) for any English word."
    },
    {
      "name": "Ticker",
      "description": "The Ticker API provides comprehensive company profile information for publicly traded companies, including executive details, financial metrics, identifiers, and contact information."
    },
    {
      "name": "Timezone",
      "description": "The Timezone API provides timezone and time offset data for any latitude/longitude coordinates or city in the world."
    },
    {
      "name": "Treasury Yield",
      "description": "Current and historical U.S. Treasury yield curve: nominal Constant Maturity Treasury (CMT) par yields (1 month to 30 years), the real (TIPS) yield curve, and Treasury bill rates, with precomputed 2s10s / 3m10s / 5s30s spreads and a yield-curve inversion flag. Data sourced from the U.S. Department of the Treasury."
    },
    {
      "name": "Trivia",
      "description": "The Trivia API provides random trivia questions and answers from a large database. Topics include science, literature, philosophy, and more."
    },
    {
      "name": "Unemployment",
      "description": "The Unemployment API provides historical, current, and projected future unemployment statistics about every country in the world."
    },
    {
      "name": "Unit Conversion",
      "description": "The Unit Conversion API converts between different units of measurement."
    },
    {
      "name": "University",
      "description": "The University API provides information about over 80,000 universities, colleges and other institutions of higher learning in 227 countries and territories, including native-language names, acronyms, websites and email domains. US institutions also include enrollment, tuition, student-faculty ratios and degree types from the U.S. Department of Education. Free users can search by name or country - premium users have access to advanced filters including location, email domain, institution level, enrollment, faculty ratios, and tuition."
    },
    {
      "name": "URL Lookup",
      "description": "The URL Lookup API provides location information for any valid URL or domain name, including geographical coordinates, city, country, and details about the ISP."
    },
    {
      "name": "User Agent API by API Ninjas",
      "description": "The User Agent API provides endpoints to parse and generate user agent strings."
    },
    {
      "name": "Validate Email",
      "description": "The Validate Email API allows you to check whether a given email address is valid and return its metadata. This API will check the formatting of the email and the existence of DNS records for the domain to make sure it is a valid email address."
    },
    {
      "name": "Validate Phone",
      "description": "The Validate Phone API allows you to check whether a given phone number is valid and return its metadata."
    },
    {
      "name": "VAT Rates",
      "description": "The VAT Rates API provides current and historical Value Added Tax (VAT) rates for all countries in the European Union."
    },
    {
      "name": "VAT Validation",
      "description": "The VAT Validation API validates EU VAT numbers with instant format and checksum checks and live EU registry status. It always returns an answer — cached last-known-good results are served when a national registry is down, and unresolved numbers are re-checked automatically in the background. Premium plans include company name, company address, and audit-ready consultation numbers."
    },
    {
      "name": "VIN Lookup",
      "description": "The VIN Lookup API provides vehicle information by decoding any Vehicle Identification Number (VIN)."
    },
    {
      "name": "Weather",
      "description": "The Weather API provides the latest weather, forecast, and historical weather data for any city or geographic location in the world."
    },
    {
      "name": "Web Scraper",
      "description": "The Web Scraper API provides web scraper services to retrieve HTML and plaintext data from any website URL."
    },
    {
      "name": "Webpage",
      "description": "The Webpage API provides services to retrieve URL information and web page metadata from any website URL. All web page metadata is retrieved live from the URL by loading and parsing the page."
    },
    {
      "name": "Whois",
      "description": "The Whois API retrieves domain registration information for any given domain using the WHOIS protocol."
    },
    {
      "name": "Working Days",
      "description": "The Working Days API provides information about working days and non-working days (weekends and public holidays) for countries around the world."
    },
    {
      "name": "World Time",
      "description": "The World Time API provides the current date and time for any city, latitude/longitude coordinates or timezone in the world."
    },
    {
      "name": "Zip Code",
      "description": "The Zip Code API enables you to look up detailed information for every ZIP Code in the United States. You can input ZIP Codes directly, or search for ZIP Codes using city and state parameters."
    }
  ]
}
