openapi: 3.0.3
info:
title: TheSpaceDevs LL2 Stations 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: Stations
paths:
/2.3.0/space_stations/:
get:
operationId: space_stations_list
summary: List Space Stations
description: '#### Modes
Levels of detail in the response - `normal`, `detailed`
Example - [/space_stations/?mode=detailed](./?mode=detailed)
#### Filters
Parameters - `docked_vehicles`, `docked_vehicles__gt`, `docked_vehicles__gte`, `docked_vehicles__lt`, `docked_vehicles__lte`, `id`, `name`, `name__contains`, `onboard_crew`, `onboard_crew__gt`, `onboard_crew__gte`, `onboard_crew__lt`, `onboard_crew__lte`, `orbit`, `owner__ids`, `owners`, `status`, `status__ids`, `type`
Example - [/space_stations/?onboard_crew__gte=1](./?onboard_crew__gte=1)
#### Search
Fields searched - `name`, `owners__abbrev`, `owners__name`
Example - [/space_stations/?search=Salyut](./?search=Salyut)
#### Ordering
Fields - `docked_vehicles`, `founded`, `id`, `name`, `onboard_crew`, `status`, `type`, `volume`
Example - [/space_stations/?ordering=founded](./?ordering=founded)
#### Number of results
Use `limit` to control the number of objects in the response (max 100)
Example - [/space_stations/?limit=2](./?limit=2)
#### Format
Switch to JSON output - [/space_stations/?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: docked_vehicles
schema:
type: integer
- in: query
name: docked_vehicles__gt
schema:
type: integer
- in: query
name: docked_vehicles__gte
schema:
type: integer
- in: query
name: docked_vehicles__lt
schema:
type: integer
- in: query
name: docked_vehicles__lte
schema:
type: integer
- in: query
name: id
schema:
type: integer
- 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
- normal
description: Level of detail in the response.
- in: query
name: name
schema:
type: string
- in: query
name: name__contains
schema:
type: string
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: onboard_crew
schema:
type: integer
- in: query
name: onboard_crew__gt
schema:
type: integer
- in: query
name: onboard_crew__gte
schema:
type: integer
- in: query
name: onboard_crew__lt
schema:
type: integer
- in: query
name: onboard_crew__lte
schema:
type: integer
- in: query
name: orbit
schema:
type: integer
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- in: query
name: owner__ids
schema:
type: array
items:
type: integer
description: Comma-separated agency IDs.
explode: false
style: form
- in: query
name: owners
schema:
type: array
items:
type: integer
explode: true
style: form
- name: search
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: status
schema:
type: integer
- in: query
name: status__ids
schema:
type: array
items:
type: integer
description: Comma-separated spacestation status IDs.
explode: false
style: form
- in: query
name: type
schema:
type: integer
tags:
- Stations
security:
- cookieAuth: []
- Token_Authentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPolymorphicSpaceStationEndpointList'
description: ''
/2.3.0/space_stations/{id}/:
get:
operationId: space_stations_retrieve
summary: Get Space Station
description: '#### Modes
Levels of detail in the response - `normal`, `detailed`
Example - [/space_stations/?mode=detailed](./?mode=detailed)
#### Filters
Parameters - `docked_vehicles`, `docked_vehicles__gt`, `docked_vehicles__gte`, `docked_vehicles__lt`, `docked_vehicles__lte`, `id`, `name`, `name__contains`, `onboard_crew`, `onboard_crew__gt`, `onboard_crew__gte`, `onboard_crew__lt`, `onboard_crew__lte`, `orbit`, `owner__ids`, `owners`, `status`, `status__ids`, `type`
Example - [/space_stations/?onboard_crew__gte=1](./?onboard_crew__gte=1)
#### Search
Fields searched - `name`, `owners__abbrev`, `owners__name`
Example - [/space_stations/?search=Salyut](./?search=Salyut)
#### Ordering
Fields - `docked_vehicles`, `founded`, `id`, `name`, `onboard_crew`, `status`, `type`, `volume`
Example - [/space_stations/?ordering=founded](./?ordering=founded)
#### Number of results
Use `limit` to control the number of objects in the response (max 100)
Example - [/space_stations/?limit=2](./?limit=2)
#### Format
Switch to JSON output - [/space_stations/?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 Space Station.
required: true
tags:
- Stations
security:
- cookieAuth: []
- Token_Authentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceStationDetailedEndpoint'
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
ExpeditionMini:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
name:
type: string
maxLength: 255
start:
type: string
format: date-time
end:
type: string
format: date-time
nullable: true
required:
- id
- name
- start
- url
PayloadType:
type: object
properties:
id:
type: integer
maximum: 2147483647
minimum: -2147483648
name:
type: string
maxLength: 255
required:
- id
RocketNormal:
type: object
properties:
id:
type: integer
readOnly: true
configuration:
$ref: '#/components/schemas/LauncherConfigList'
required:
- configuration
- id
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
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
InfoURLType:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
required:
- id
- name
SpacecraftConfigType:
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
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
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
SpacecraftFlightForDockingEvent:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
spacecraft:
$ref: '#/components/schemas/SpacecraftDetailed'
launch:
$ref: '#/components/schemas/LaunchNormal'
required:
- id
- launch
- spacecraft
- 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
PayloadFlightNormal:
type: object
properties:
response_mode:
type: string
readOnly: true
default: normal
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
destination:
type: string
nullable: true
maxLength: 255
amount:
type: integer
maximum: 2147483647
minimum: -2147483648
payload:
$ref: '#/components/schemas/PayloadNormal'
launch:
$ref: '#/components/schemas/LaunchNormal'
landing:
$ref: '#/components/schemas/Landing'
required:
- id
- landing
- launch
- payload
- response_mode
- url
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
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
ProgramMini:
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
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
required:
- id
- image
- name
- response_mode
- url
CelestialBodyDetailed:
type: object
properties:
response_mode:
type: string
readOnly: true
default: normal
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
type:
$ref: '#/components/schemas/CelestialBodyType'
diameter:
type: number
format: double
nullable: true
description: m
mass:
type: number
format: double
nullable: true
description: kg
gravity:
type: number
format: double
nullable: true
description: m/s^2
length_of_day:
type: string
nullable: true
atmosphere:
type: boolean
image:
$ref: '#/components/schemas/Image'
description:
type: string
nullable: true
wiki_url:
type: string
format: uri
nullable: true
maxLength: 200
total_attempted_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
successful_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
failed_launches:
type: integer
maximum: 2147483647
minimum: -2147483648
total_attempted_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
successful_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
failed_landings:
type: integer
maximum: 2147483647
minimum: -2147483648
required:
- id
- image
- name
- response_mode
- type
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
DockingLocation:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
spacestation:
$ref: '#/components/schemas/SpaceStationMini'
spacecraft:
$ref: '#/components/schemas/SpacecraftConfigNormal'
payload:
$ref: '#/components/schemas/PayloadMini'
required:
- id
- name
- payload
- spacecraft
- spacestation
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
DockingEventDetailedSerializerForSpacestation:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
docking:
type: string
format: date-time
departure:
type: string
format: date-time
nullable: true
flight_vehicle_chaser:
$ref: '#/components/schemas/SpacecraftFlightForDockingEvent'
space_station_chaser:
$ref: '#/components/schemas/SpaceStationNormal'
payload_flight_chaser:
$ref: '#/components/schemas/PayloadFlightNormal'
required:
- docking
- flight_vehicle_chaser
- id
- payload_flight_chaser
- space_station_chaser
- 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:
$ref: '#/components/schemas/SocialMediaLink'
required:
- country
- id
- image
- logo
- name
- parent
- response_mode
- social_logo
- social_media_links
- type
- url
VidURLType:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
required:
- id
- name
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
LocationSerializerNoCelestialBody:
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
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:
- country
- id
- image
- response_mode
- url
SpaceStationDetailedEndpoint:
type: object
properties:
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
status:
$ref: '#/components/schemas/SpaceStationStatus'
founded:
type: string
format: date
deorbited:
type: string
format: date
nullable: true
description:
type: string
maxLength: 2048
orbit:
type: string
readOnly: true
nullable: true
type:
$ref: '#/components/schemas/SpaceStationType'
owners:
type: array
items:
$ref: '#/components/schemas/AgencyNormal'
nullable: true
response_mode:
type: string
readOnly: true
default: detailed
active_expeditions:
type: array
items:
$ref: '#/components/schemas/ExpeditionMini'
height:
type: number
format: double
nullable: true
title: Height (m)
width:
type: number
format: double
nullable: true
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thespacedevs-ll2-api/refs/heads/main/openapi/thespacedevs-ll2-api-stations-api-openapi.yml