openapi: 3.0.3 info: title: Numbers Date Year API description: 'Free REST API providing interesting mathematical facts, trivia, dates, and year facts about numbers for educational and fun applications. Returns short, readable facts about any number or date across four categories: trivia, mathematical properties, notable years, and day-of-year historical events. No authentication or API key required. ' version: 1.0.0 contact: url: http://numbersapi.com license: name: MIT servers: - url: http://numbersapi.com description: Numbers API production server tags: - name: Year paths: /{number}/year: get: operationId: getYearFact summary: Get a year fact about a number description: 'Returns an interesting fact about a notable event that occurred in the specified year. ' parameters: - $ref: '#/components/parameters/number' - $ref: '#/components/parameters/json' - $ref: '#/components/parameters/fragment' - $ref: '#/components/parameters/notfound' - $ref: '#/components/parameters/default' - $ref: '#/components/parameters/min' - $ref: '#/components/parameters/max' - $ref: '#/components/parameters/callback' responses: '200': description: A year fact about the requested number (plain text or JSON) content: text/plain: schema: type: string example: 2013 is the year that China will attempt its first unmanned Moon landing. application/json: schema: $ref: '#/components/schemas/YearFact' tags: - Year components: parameters: callback: name: callback in: query required: false description: '(Deprecated) JSONP callback function name. The response will be wrapped in a call to this function. ' schema: type: string deprecated: true min: name: min in: query required: false description: 'Minimum value for random number generation. Used with `random` number to constrain the range. ' schema: type: integer max: name: max in: query required: false description: 'Maximum value for random number generation. Used with `random` number to constrain the range. ' schema: type: integer notfound: name: notfound in: query required: false description: 'What to do if the number is not found. Options: `default` (return a pre-written missing message), `floor` (round down to the largest number with a fact), `ceil` (round up to the smallest number with a fact). ' schema: type: string enum: - default - floor - ceil default: default fragment: name: fragment in: query required: false description: 'Return the fact as a sentence fragment that can be easily included as part of a larger sentence. The first word is lowercase and ending punctuation is omitted. ' schema: type: boolean number: name: number in: path required: true description: 'An integer, the keyword `random`, a day of year in the form `month/day` (for date type), or a range like `1..10` or comma-separated values like `1,2,3` for batch requests. ' schema: type: string example: '42' json: name: json in: query required: false description: 'Return the fact and associated metadata as a JSON object instead of plain text. Can also be triggered by setting the Accept or Content-Type header to application/json. ' schema: type: boolean default: name: default in: query required: false description: 'A custom message to return if no fact is found for the requested number. Used in conjunction with `notfound=default`. ' schema: type: string schemas: YearFact: type: object description: A fact about a year with associated metadata required: - text - found - number - type properties: text: type: string description: The fact text itself example: 2012 is the year that the century's second and last solar transit of Venus occurs on June 6. found: type: boolean description: Whether a fact was found for the requested year example: true number: type: number description: The year that the fact pertains to example: 2012 type: type: string description: The category of the returned fact example: year date: type: string description: A day of year associated with some year facts example: June 6