TheSpaceDevs LL2 API Astronauts API

The Astronauts API from TheSpaceDevs LL2 API — 2 operation(s) for astronauts.

Operations 2

GET /2.3.0/astronauts/ List Astronauts #
GET /2.3.0/astronauts/{id}/ Get Astronaut #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thespacedevs-ll2-api-astronauts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thespacedevs-ll2-api-astronauts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TheSpaceDevs LL2 Astronauts API
  version: v2.3.0
  description: Rocket launches, space events and crewed spaceflight. The Launch Library 2 API is the official successor of the popular Launch Library API. It keeps its core features whilst also including everything the broader Space Launch Now API had to offer. The result is a large database delivering a more complete experience for each rocket launch and ...
  license:
    name: Apache License 2.0
servers:
- url: https://ll.thespacedevs.com/
  description: Production API (� rate-limited)
- url: https://lldev.thespacedevs.com/
  description: Development API (stale and limited data, for development testing only)
tags:
- name: Astronauts
paths:
  /2.3.0/astronauts/:
    get:
      operationId: astronauts_list
      summary: List Astronauts
      description: '#### Modes

        Levels of detail in the response - `list`, `normal`, `detailed`


        Example - [/astronauts/?mode=list](./?mode=list)


        #### Filters

        Parameters - `age`, `age__gt`, `age__gte`, `age__lt`, `age__lte`, `agency_ids`, `date_of_birth`, `date_of_birth__gt`, `date_of_birth__gte`, `date_of_birth__lt`, `date_of_birth__lte`, `date_of_death`, `date_of_death__gt`, `date_of_death__gte`, `date_of_death__lt`, `date_of_death__lte`, `first_flight`, `first_flight__gt`, `first_flight__gte`, `first_flight__lt`, `first_flight__lte`, `flights_count`, `flights_count__gt`, `flights_count__gte`, `flights_count__lt`, `flights_count__lte`, `has_flown`, `in_space`, `is_human`, `landings_count`, `landings_count__gt`, `landings_count__gte`, `landings_count__lt`, `landings_count__lte`, `last_flight`, `last_flight__gt`, `last_flight__gte`, `last_flight__lt`, `last_flight__lte`, `nationality`, `status_ids`, `type__id`


        Example - [/astronauts/?has_flown=true](./?has_flown=true)


        #### Search

        Fields searched - `agency__abbrev`, `agency__name`, `name`, `nationality__nationality_name`


        Example - [/astronauts/?search=Pesquet](./?search=Pesquet)


        #### Ordering

        Fields - `age`, `date_of_birth`, `eva_time`, `flights_count`, `id`, `landings_count`, `last_flight`, `name`, `spacewalks_count`, `status`, `time_in_space`


        Example - [/astronauts/?ordering=-time_in_space](./?ordering=-time_in_space)


        #### Number of results

        Use `limit` to control the number of objects in the response (max 100)


        Example - [/astronauts/?limit=2](./?limit=2)


        #### Format

        Switch to JSON output - [/astronauts/?format=json](./?format=json)


        #### Help

        Find all the FAQs and support links on the documentation homepage - [ll.thespacedevs.com/docs](https://ll.thespacedevs.com/docs/)'
      parameters:
      - in: query
        name: age
        schema:
          type: integer
      - in: query
        name: age__gt
        schema:
          type: integer
      - in: query
        name: age__gte
        schema:
          type: integer
      - in: query
        name: age__lt
        schema:
          type: integer
      - in: query
        name: age__lte
        schema:
          type: integer
      - in: query
        name: agency_ids
        schema:
          type: array
          items:
            type: number
        description: Comma-separated agency IDs.
        explode: false
        style: form
      - in: query
        name: date_of_birth
        schema:
          type: string
          format: date
      - in: query
        name: date_of_birth__gt
        schema:
          type: string
          format: date
      - in: query
        name: date_of_birth__gte
        schema:
          type: string
          format: date
      - in: query
        name: date_of_birth__lt
        schema:
          type: string
          format: date
      - in: query
        name: date_of_birth__lte
        schema:
          type: string
          format: date
      - in: query
        name: date_of_death
        schema:
          type: string
          format: date
      - in: query
        name: date_of_death__gt
        schema:
          type: string
          format: date
      - in: query
        name: date_of_death__gte
        schema:
          type: string
          format: date
      - in: query
        name: date_of_death__lt
        schema:
          type: string
          format: date
      - in: query
        name: date_of_death__lte
        schema:
          type: string
          format: date
      - in: query
        name: first_flight
        schema:
          type: string
          format: date-time
      - in: query
        name: first_flight__gt
        schema:
          type: string
          format: date-time
      - in: query
        name: first_flight__gte
        schema:
          type: string
          format: date-time
      - in: query
        name: first_flight__lt
        schema:
          type: string
          format: date-time
      - in: query
        name: first_flight__lte
        schema:
          type: string
          format: date-time
      - in: query
        name: flights_count
        schema:
          type: integer
      - in: query
        name: flights_count__gt
        schema:
          type: integer
      - in: query
        name: flights_count__gte
        schema:
          type: integer
      - in: query
        name: flights_count__lt
        schema:
          type: integer
      - in: query
        name: flights_count__lte
        schema:
          type: integer
      - in: query
        name: has_flown
        schema:
          type: boolean
      - in: query
        name: in_space
        schema:
          type: boolean
      - in: query
        name: is_human
        schema:
          type: boolean
      - in: query
        name: landings_count
        schema:
          type: integer
      - in: query
        name: landings_count__gt
        schema:
          type: integer
      - in: query
        name: landings_count__gte
        schema:
          type: integer
      - in: query
        name: landings_count__lt
        schema:
          type: integer
      - in: query
        name: landings_count__lte
        schema:
          type: integer
      - in: query
        name: last_flight
        schema:
          type: string
          format: date-time
      - in: query
        name: last_flight__gt
        schema:
          type: string
          format: date-time
      - in: query
        name: last_flight__gte
        schema:
          type: string
          format: date-time
      - in: query
        name: last_flight__lt
        schema:
          type: string
          format: date-time
      - in: query
        name: last_flight__lte
        schema:
          type: string
          format: date-time
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: mode
        schema:
          type: string
          enum:
          - detailed
          - list
          - normal
        description: Level of detail in the response.
      - in: query
        name: nationality
        schema:
          type: string
        description: Nationality
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status_ids
        schema:
          type: array
          items:
            type: number
        description: Comma-separated astronaut status IDs.
        explode: false
        style: form
      - in: query
        name: type__id
        schema:
          type: integer
      tags:
      - Astronauts
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicAstronautEndpointList'
          description: ''
  /2.3.0/astronauts/{id}/:
    get:
      operationId: astronauts_retrieve
      summary: Get Astronaut
      description: '#### Modes

        Levels of detail in the response - `list`, `normal`, `detailed`


        Example - [/astronauts/?mode=list](./?mode=list)


        #### Filters

        Parameters - `age`, `age__gt`, `age__gte`, `age__lt`, `age__lte`, `agency_ids`, `date_of_birth`, `date_of_birth__gt`, `date_of_birth__gte`, `date_of_birth__lt`, `date_of_birth__lte`, `date_of_death`, `date_of_death__gt`, `date_of_death__gte`, `date_of_death__lt`, `date_of_death__lte`, `first_flight`, `first_flight__gt`, `first_flight__gte`, `first_flight__lt`, `first_flight__lte`, `flights_count`, `flights_count__gt`, `flights_count__gte`, `flights_count__lt`, `flights_count__lte`, `has_flown`, `in_space`, `is_human`, `landings_count`, `landings_count__gt`, `landings_count__gte`, `landings_count__lt`, `landings_count__lte`, `last_flight`, `last_flight__gt`, `last_flight__gte`, `last_flight__lt`, `last_flight__lte`, `nationality`, `status_ids`, `type__id`


        Example - [/astronauts/?has_flown=true](./?has_flown=true)


        #### Search

        Fields searched - `agency__abbrev`, `agency__name`, `name`, `nationality__nationality_name`


        Example - [/astronauts/?search=Pesquet](./?search=Pesquet)


        #### Ordering

        Fields - `age`, `date_of_birth`, `eva_time`, `flights_count`, `id`, `landings_count`, `last_flight`, `name`, `spacewalks_count`, `status`, `time_in_space`


        Example - [/astronauts/?ordering=-time_in_space](./?ordering=-time_in_space)


        #### Number of results

        Use `limit` to control the number of objects in the response (max 100)


        Example - [/astronauts/?limit=2](./?limit=2)


        #### Format

        Switch to JSON output - [/astronauts/?format=json](./?format=json)


        #### Help

        Find all the FAQs and support links on the documentation homepage - [ll.thespacedevs.com/docs](https://ll.thespacedevs.com/docs/)'
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Astronaut.
        required: true
      tags:
      - Astronauts
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AstronautEndpointDetailed'
          description: ''
components:
  schemas:
    AstronautRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: string
          maxLength: 255
        priority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      required:
      - id
      - role
    AgencyType:
      type: object
      properties:
        id:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        name:
          type: string
          maxLength: 255
      required:
      - id
    AstronautEndpointNormal:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 255
        status:
          $ref: '#/components/schemas/AstronautStatus'
        agency:
          allOf:
          - $ref: '#/components/schemas/AgencyMini'
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
        response_mode:
          type: string
          readOnly: true
          default: normal
        type:
          $ref: '#/components/schemas/AstronautType'
        in_space:
          type: boolean
        time_in_space:
          type:
          - string
          - 'null'
          readOnly: true
        eva_time:
          type: string
          readOnly: true
        age:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        date_of_birth:
          type:
          - string
          - 'null'
          format: date
        date_of_death:
          type:
          - string
          - 'null'
          format: date
        nationality:
          type: array
          items:
            $ref: '#/components/schemas/Country'
        bio:
          type: string
          maxLength: 2048
        wiki:
          type:
          - string
          - 'null'
          maxLength: 255
        last_flight:
          type:
          - string
          - 'null'
          format: date-time
        first_flight:
          type:
          - string
          - 'null'
          format: date-time
        social_media_links:
          type: array
          items:
            $ref: '#/components/schemas/SocialMediaLink'
        flights_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        landings_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        spacewalks_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
      required:
      - agency
      - bio
      - eva_time
      - id
      - image
      - name
      - nationality
      - response_mode
      - social_media_links
      - status
      - time_in_space
      - type
      - url
    ImageLicense:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        priority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        link:
          type:
          - string
          - 'null'
          format: uri
          maxLength: 200
      required:
      - id
    SpacecraftConfigNormal:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: normal
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 200
        type:
          $ref: '#/components/schemas/SpacecraftConfigType'
        agency:
          $ref: '#/components/schemas/AgencyMini'
        family:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SpacecraftConfigFamilyNormal'
        in_use:
          type: boolean
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
      required:
      - agency
      - family
      - id
      - image
      - name
      - response_mode
      - type
      - url
    InfoURLType:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
      - id
      - name
    SpacecraftConfigFamilyMini:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: list
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
      required:
      - id
      - name
      - response_mode
    SocialMediaLink:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        social_media:
          $ref: '#/components/schemas/SocialMedia'
        url:
          type:
          - string
          - 'null'
          format: uri
      required:
      - id
      - social_media
      - url
    Landing:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        attempt:
          type: boolean
        success:
          type:
          - boolean
          - 'null'
        description:
          type: string
          maxLength: 2048
        downrange_distance:
          type:
          - number
          - 'null'
          format: double
          title: Downrange distance (km)
        landing_location:
          $ref: '#/components/schemas/LandingLocation'
        type:
          $ref: '#/components/schemas/LandingType'
      required:
      - id
      - landing_location
      - type
      - url
    AgencyMini:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: list
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 200
        abbrev:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/AgencyType'
      required:
      - id
      - name
      - response_mode
      - type
      - url
    LaunchNormal:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 2048
        response_mode:
          type: string
          readOnly: true
          default: normal
        slug:
          type: string
          pattern: ^[-a-zA-Z0-9_]+$
        launch_designator:
          type:
          - string
          - 'null'
          maxLength: 255
        status:
          allOf:
          - $ref: '#/components/schemas/LaunchStatus'
        last_updated:
          type: string
          format: date-time
        net:
          type: string
          format: date-time
        net_precision:
          allOf:
          - $ref: '#/components/schemas/NetPrecision'
        window_end:
          type: string
          format: date-time
        window_start:
          type: string
          format: date-time
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
          readOnly: true
        infographic:
          type:
          - string
          - 'null'
          readOnly: true
        probability:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        weather_concerns:
          type:
          - string
          - 'null'
          maxLength: 255
        failreason:
          type:
          - string
          - 'null'
          maxLength: 2048
        hashtag:
          type:
          - string
          - 'null'
          maxLength: 2048
        launch_service_provider:
          $ref: '#/components/schemas/AgencyMini'
        rocket:
          allOf:
          - $ref: '#/components/schemas/RocketNormal'
        mission:
          allOf:
          - $ref: '#/components/schemas/Mission'
        pad:
          allOf:
          - $ref: '#/components/schemas/Pad'
        webcast_live:
          type: boolean
        program:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProgramNormal'
        orbital_launch_attempt_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        location_launch_attempt_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        pad_launch_attempt_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        agency_launch_attempt_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        orbital_launch_attempt_count_year:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        location_launch_attempt_count_year:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        pad_launch_attempt_count_year:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        agency_launch_attempt_count_year:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
      required:
      - id
      - image
      - infographic
      - launch_service_provider
      - mission
      - net_precision
      - pad
      - program
      - response_mode
      - rocket
      - slug
      - status
      - url
    CelestialBodyMini:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: list
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
      - id
      - name
      - response_mode
    AstronautFlight:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          $ref: '#/components/schemas/AstronautRole'
        astronaut:
          $ref: '#/components/schemas/AstronautDetailed'
      required:
      - astronaut
      - id
      - role
    Language:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        code:
          type: string
          description: ISO 639-1 (two-letter) code
          maxLength: 255
      required:
      - code
      - id
      - name
    LandingLocation:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        active:
          type: boolean
        abbrev:
          type: string
          maxLength: 255
        description:
          type:
          - string
          - 'null'
          maxLength: 2048
        location:
          $ref: '#/components/schemas/LocationSerializerNoCelestialBody'
        longitude:
          type:
          - number
          - 'null'
          format: double
        latitude:
          type:
          - number
          - 'null'
          format: double
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
        successful_landings:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        attempted_landings:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        failed_landings:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        celestial_body:
          $ref: '#/components/schemas/CelestialBodyNormal'
      required:
      - celestial_body
      - id
      - image
      - location
    NetPrecision:
      type: object
      properties:
        id:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        name:
          type: string
          maxLength: 255
        abbrev:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 2048
      required:
      - id
    LauncherConfigFamilyMini:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: list
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
      required:
      - id
      - name
      - response_mode
    LandingType:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        abbrev:
          type: string
          maxLength: 255
        description:
          type:
          - string
          - 'null'
          maxLength: 2048
      required:
      - id
    MissionPatch:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        priority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        image_url:
          type: string
          format: uri
        agency:
          allOf:
          - $ref: '#/components/schemas/AgencyMini'
        response_mode:
          type: string
          readOnly: true
          default: normal
      required:
      - agency
      - id
      - image_url
      - name
      - response_mode
    SpacecraftFlightNormal:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        destination:
          type:
          - string
          - 'null'
          maxLength: 255
        mission_end:
          type:
          - string
          - 'null'
          format: date-time
        spacecraft:
          $ref: '#/components/schemas/SpacecraftNormal'
        launch:
          $ref: '#/components/schemas/LaunchNormal'
        landing:
          $ref: '#/components/schemas/Landing'
        duration:
          type: string
          readOnly: true
        turn_around_time:
          type: string
          readOnly: true
        response_mode:
          type: string
          readOnly: true
          default: normal
      required:
      - duration
      - id
      - landing
      - launch
      - response_mode
      - spacecraft
      - turn_around_time
      - url
    Image:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        image_url:
          type: string
          format: uri
        thumbnail_url:
          type: string
          format: uri
        credit:
          type:
          - string
          - 'null'
          maxLength: 255
        license:
          $ref: '#/components/schemas/ImageLicense'
        single_use:
          type: boolean
        variants:
          type: array
          items:
            $ref: '#/components/schemas/ImageVariant'
      required:
      - id
      - image_url
      - license
      - name
      - thumbnail_url
      - variants
    SpacecraftNormal:
      type: object
      properties:
        response_mode:
          type: string
          readOnly: true
          default: normal
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 255
        serial_number:
          type:
          - string
          - 'null'
          maxLength: 255
        is_placeholder:
          type: boolean
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
          readOnly: true
        in_space:
          type: boolean
        time_in_space:
          type:
          - string
          - 'null'
          readOnly: true
        time_docked:
          type:
          - string
          - 'null'
          readOnly: true
        flights_count:
          type:
          - integer
          - 'null'
        mission_ends_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        status:
          $ref: '#/components/schemas/SpacecraftStatus'
        description:
          type: string
          maxLength: 2048
        spacecraft_config:
          $ref: '#/components/schemas/SpacecraftConfigNormal'
        fastest_turnaround:
          type:
          - string
          - 'null'
          readOnly: true
      required:
      - description
      - fastest_turnaround
      - flights_count
      - id
      - image
      - name
      - response_mode
      - spacecraft_config
      - status
      - time_docked
      - time_in_space
      - url
    Pad:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        active:
          type: boolean
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/AgencyNormal'
        name:
          type: string
          maxLength: 255
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
        description:
          type:
          - string
          - 'null'
          maxLength: 2048
        info_url:
          type:
          - string
          - 'null'
          format: uri
          maxLength: 200
        wiki_url:
          type:
          - string
          - 'null'
          format: uri
          maxLength: 200
        map_url:
          type:
          - string
          - 'null'
          format: uri
          maxLength: 200
        latitude:
          type:
          - number
          - 'null'
          format: double
        longitude:
          type:
          - number
          - 'null'
          format: double
        country:
          allOf:
          - $ref: '#/components/schemas/Country'
        map_image:
          type:
          - string
          - 'null'
          format: uri
        total_launch_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        orbital_launch_attempt_count:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        fastest_turnaround:
          type:
          - string
          - 'null'
          readOnly: true
        location:
          allOf:
          - $ref: '#/components/schemas/Location'
      required:
      - agencies
      - country
      - fastest_turnaround
      - id
      - image
      - location
      - url
    LaunchStatus:
      type: object
      properties:
        id:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        name:
          type: string
          readOnly: true
        abbrev:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 2048
      required:
      - id
      - name
    AstronautEndpointDetailed:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 255
        status:
          $ref: '#/components/schemas/AstronautStatus'
        agency:
          allOf:
          - $ref: '#/components/schemas/AgencyMini'
        image:
          allOf:
          - $ref: '#/components/schemas/Image'
        response_mode:
          type: string
          readOnly: true
          default: detailed
        type:
          $ref: '#/components/schemas/AstronautType'
        in_space:
          type: boolean
        time_in_space:
          type:
          - string
          - 'null'
          readOnly: true
        eva_time:
          type: string
          readOnly: true
        age:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        date_of_birth:
          type:
          - string
          - 'null'
          format: date
        date_of_death:
          type:
          - string
          - 'null'
          format: date
        nationality:
          type: array
          items:
            $ref: '#/components/schemas/Country'
        bio:
          type: string
          maxLength: 2048
        wiki:
          type:
          - string
          - 'null'
          maxLength: 255
        last_flight:
          type:
          - string
          - 'null'
          format: date-time
        first_flight:
          type:
          - string
          - 'null'
          format: date-time
        social_media_links:
          type: array
          items:
            $ref: '#/components/schemas/SocialMediaLink'
        flight

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thespacedevs-ll2-api/refs/heads/main/openapi/thespacedevs-ll2-api-astronauts-api-openapi.yml