openapi: 3.0.3
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:
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
nullable: true
maxLength: 2048
location:
$ref: '#/components/schemas/LocationSerializerNoCelestialBody'
longitude:
type: number
format: double
nullable: true
latitude:
type: number
format: double
nullable: true
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
successful_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
attempted_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
failed_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
celestial_body:
$ref: '#/components/schemas/CelestialBodyNormal'
required:
- celestial_body
- id
- image
- location
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'
nullable: true
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
response_mode:
type: string
readOnly: true
default: normal
type:
$ref: '#/components/schemas/AstronautType'
in_space:
type: boolean
time_in_space:
type: string
readOnly: true
nullable: true
eva_time:
type: string
readOnly: true
age:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
date_of_birth:
type: string
format: date
nullable: true
date_of_death:
type: string
format: date
nullable: true
nationality:
type: array
items:
$ref: '#/components/schemas/Country'
bio:
type: string
maxLength: 2048
wiki:
type: string
nullable: true
maxLength: 255
last_flight:
type: string
format: date-time
nullable: true
first_flight:
type: string
format: date-time
nullable: true
social_media_links:
type: array
items:
$ref: '#/components/schemas/SocialMediaLink'
flights_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
landings_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
spacewalks_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
required:
- agency
- bio
- eva_time
- id
- image
- name
- nationality
- response_mode
- social_media_links
- status
- time_in_space
- type
- url
AstronautDetailed:
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'
nullable: true
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
response_mode:
type: string
readOnly: true
default: list
type:
$ref: '#/components/schemas/AstronautType'
in_space:
type: boolean
time_in_space:
type: string
readOnly: true
nullable: true
eva_time:
type: string
readOnly: true
age:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
date_of_birth:
type: string
format: date
nullable: true
date_of_death:
type: string
format: date
nullable: true
nationality:
type: array
items:
$ref: '#/components/schemas/Country'
bio:
type: string
maxLength: 2048
wiki:
type: string
nullable: true
maxLength: 255
last_flight:
type: string
format: date-time
nullable: true
first_flight:
type: string
format: date-time
nullable: true
social_media_links:
type: array
items:
$ref: '#/components/schemas/SocialMediaLink'
required:
- agency
- bio
- eva_time
- id
- image
- name
- nationality
- response_mode
- social_media_links
- status
- time_in_space
- type
- url
RocketNormal:
type: object
properties:
id:
type: integer
readOnly: true
configuration:
$ref: '#/components/schemas/LauncherConfigList'
required:
- configuration
- id
SocialMedia:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
url:
type: string
format: uri
nullable: true
logo:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
required:
- id
- logo
- url
SpacecraftConfigType:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
required:
- id
- name
Mission:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
type:
type: string
readOnly: true
description:
type: string
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
orbit:
$ref: '#/components/schemas/Orbit'
agencies:
type: array
items:
$ref: '#/components/schemas/AgencyDetailed'
info_urls:
type: array
items:
$ref: '#/components/schemas/InfoURL'
vid_urls:
type: array
items:
$ref: '#/components/schemas/VidURL'
required:
- agencies
- id
- image
- info_urls
- name
- orbit
- type
- vid_urls
InfoURLType:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
required:
- id
- name
LandingType:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
abbrev:
type: string
maxLength: 255
description:
type: string
nullable: true
maxLength: 2048
required:
- id
ProgramNormal:
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
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
info_url:
type: string
format: uri
nullable: true
maxLength: 200
wiki_url:
type: string
format: uri
nullable: true
maxLength: 200
description:
type: string
nullable: true
maxLength: 40000
agencies:
type: array
items:
$ref: '#/components/schemas/AgencyMini'
start_date:
type: string
format: date-time
nullable: true
end_date:
type: string
format: date-time
nullable: true
mission_patches:
type: array
items:
$ref: '#/components/schemas/MissionPatch'
type:
$ref: '#/components/schemas/ProgramType'
required:
- agencies
- id
- image
- mission_patches
- name
- response_mode
- type
- url
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
items:
$ref: '#/components/schemas/SpacecraftConfigFamilyNormal'
nullable: true
in_use:
type: boolean
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
required:
- agency
- family
- id
- image
- name
- response_mode
- type
- url
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
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
VidURL:
type: object
properties:
priority:
type: integer
maximum: 2147483647
minimum: -2147483648
source:
type: string
nullable: true
maxLength: 200
publisher:
type: string
nullable: true
maxLength: 255
title:
type: string
nullable: true
maxLength: 200
description:
type: string
nullable: true
maxLength: 350
feature_image:
type: string
format: uri
nullable: true
maxLength: 200
url:
type: string
format: uri
type:
allOf:
- $ref: '#/components/schemas/VidURLType'
nullable: true
language:
allOf:
- $ref: '#/components/schemas/Language'
nullable: true
start_time:
type: string
format: date-time
nullable: true
end_time:
type: string
format: date-time
nullable: true
live:
type: boolean
required:
- language
- type
- url
AstronautStatus:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
required:
- id
- name
SpacewalkNormal:
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: 255
start:
type: string
format: date-time
nullable: true
end:
type: string
format: date-time
nullable: true
duration:
type: string
readOnly: true
nullable: true
location:
type: string
nullable: true
maxLength: 255
crew:
type: array
items:
$ref: '#/components/schemas/AstronautFlight'
required:
- crew
- duration
- id
- name
- response_mode
- url
AstronautRole:
type: object
properties:
id:
type: integer
readOnly: true
role:
type: string
maxLength: 255
priority:
type: integer
maximum: 2147483647
minimum: -2147483648
required:
- id
- role
ImageLicense:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
priority:
type: integer
maximum: 2147483647
minimum: -2147483648
link:
type: string
format: uri
nullable: true
maxLength: 200
required:
- id
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
Location:
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
celestial_body:
$ref: '#/components/schemas/CelestialBodyDetailed'
active:
type: boolean
country:
allOf:
- $ref: '#/components/schemas/Country'
nullable: true
description:
type: string
nullable: true
maxLength: 2048
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
map_image:
type: string
format: uri
nullable: true
longitude:
type: number
format: double
nullable: true
latitude:
type: number
format: double
nullable: true
timezone_name:
type: string
maxLength: 255
total_launch_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
total_landing_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
required:
- celestial_body
- country
- id
- image
- response_mode
- url
Country:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
alpha_2_code:
type: string
description: ISO 3166-1 alpha-2
maxLength: 2
alpha_3_code:
type: string
description: ISO 3166-1 alpha-3
maxLength: 3
nationality_name:
type: string
description: e.g. French
maxLength: 255
nationality_name_composed:
type: string
description: e.g. Franco
maxLength: 255
required:
- id
AstronautFlight:
type: object
properties:
id:
type: integer
readOnly: true
role:
$ref: '#/components/schemas/AstronautRole'
astronaut:
$ref: '#/components/schemas/AstronautDetailed'
required:
- astronaut
- id
- role
LauncherConfigList:
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
families:
type: array
items:
$ref: '#/components/schemas/LauncherConfigFamilyMini'
nullable: true
full_name:
type: string
maxLength: 200
variant:
type: string
maxLength: 200
required:
- families
- id
- name
- response_mode
- url
AgencyDetailed:
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
abbrev:
type: string
maxLength: 255
type:
$ref: '#/components/schemas/AgencyType'
featured:
type: boolean
country:
type: array
items:
$ref: '#/components/schemas/Country'
description:
type: string
nullable: true
maxLength: 2048
administrator:
type: string
nullable: true
maxLength: 200
founding_year:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
launchers:
type: string
maxLength: 500
spacecraft:
type: string
maxLength: 500
parent:
type: string
readOnly: true
nullable: true
image:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
logo:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
social_logo:
allOf:
- $ref: '#/components/schemas/Image'
nullable: true
total_launch_count:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
consecutive_successful_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
successful_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
failed_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
pending_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
consecutive_successful_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
successful_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
failed_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
attempted_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
successful_landings_spacecraft:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
failed_landings_spacecraft:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
attempted_landings_spacecraft:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
successful_landings_payload:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
failed_landings_payload:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
attempted_landings_payload:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
info_url:
type: string
format: uri
nullable: true
maxLength: 200
wiki_url:
type: string
format: uri
nullable: true
maxLength: 200
social_media_links:
type: array
items:
# --- 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