TheSpaceDevs LL2 API Spacecraft API

The Spacecraft API from TheSpaceDevs LL2 API — 12 operation(s) for spacecraft.

OpenAPI Specification

thespacedevs-ll2-api-spacecraft-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TheSpaceDevs LL2 Spacecraft 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: Spacecraft
paths:
  /2.3.0/config/spacecraft_configuration_types/:
    get:
      operationId: config_spacecraft_configuration_types_list
      summary: List Spacecraft Configuration Types
      description: '#### Number of results

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


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


        #### Format

        Switch to JSON output - [/config/spacecraft_configuration_types/?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:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - 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
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSpacecraftConfigTypeList'
          description: ''
  /2.3.0/config/spacecraft_configuration_types/{id}/:
    get:
      operationId: config_spacecraft_configuration_types_retrieve
      summary: Get Spacecraft Configuration Type
      description: '#### Number of results

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


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


        #### Format

        Switch to JSON output - [/config/spacecraft_configuration_types/?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 Spacecraft Configuration Type.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftConfigType'
          description: ''
  /2.3.0/config/spacecraft_statuses/:
    get:
      operationId: config_spacecraft_statuses_list
      summary: List Spacecraft Statuses
      description: '#### Number of results

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


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


        #### Format

        Switch to JSON output - [/config/spacecraft_statuses/?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:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - 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
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSpacecraftStatusList'
          description: ''
  /2.3.0/config/spacecraft_statuses/{id}/:
    get:
      operationId: config_spacecraft_statuses_retrieve
      summary: Get Spacecraft Status
      description: '#### Number of results

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


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


        #### Format

        Switch to JSON output - [/config/spacecraft_statuses/?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 Spacecraft Status.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftStatus'
          description: ''
  /2.3.0/spacecraft/:
    get:
      operationId: spacecraft_list
      summary: List Spacecraft
      description: '#### Modes

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


        Example - [/spacecraft/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `in_space`, `is_placeholder`, `name`, `spacecraft_config`, `status`


        Example - [/spacecraft/?is_placeholder=True](./?is_placeholder=True)


        #### Search

        Fields searched - `name`, `spacecraft_config__name`


        Example - [/spacecraft/?search=Endeavour](./?search=Endeavour)


        #### Ordering

        Fields - `flights_count`, `id`, `mission_ends_count`, `time_docked`, `time_in_space`


        Example - [/spacecraft/?ordering=-flights_count](./?ordering=-flights_count)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft/?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: in_space
        schema:
          type: boolean
      - in: query
        name: is_placeholder
        schema:
          type: boolean
      - 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
      - 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: spacecraft_config
        schema:
          type: integer
      - in: query
        name: status
        schema:
          type: integer
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicSpacecraftEndpointList'
          description: ''
  /2.3.0/spacecraft/{id}/:
    get:
      operationId: spacecraft_retrieve
      summary: Get Spacecraft
      description: '#### Modes

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


        Example - [/spacecraft/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `in_space`, `is_placeholder`, `name`, `spacecraft_config`, `status`


        Example - [/spacecraft/?is_placeholder=True](./?is_placeholder=True)


        #### Search

        Fields searched - `name`, `spacecraft_config__name`


        Example - [/spacecraft/?search=Endeavour](./?search=Endeavour)


        #### Ordering

        Fields - `flights_count`, `id`, `mission_ends_count`, `time_docked`, `time_in_space`


        Example - [/spacecraft/?ordering=-flights_count](./?ordering=-flights_count)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft/?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 Spacecraft.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftEndpointDetailed'
          description: ''
  /2.3.0/spacecraft_configuration_families/:
    get:
      operationId: spacecraft_configuration_families_list
      summary: List Spacecraft Configuration Families
      description: '#### Modes

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


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


        #### Filters

        Parameters - `manufacturer`, `name`


        Example - [/spacecraft_configuration_families/?manufacturer=121](./?manufacturer=121)


        #### Search

        Fields searched - `manufacturer__abbrev`, `manufacturer__name`, `name`


        Example - [/spacecraft_configuration_families/?search=Northrop](./?search=Northrop)


        #### Ordering

        Fields - `name`


        Example - [/spacecraft_configuration_families/?ordering=name](./?ordering=name)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_configuration_families/?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:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer
        schema:
          type: integer
      - in: query
        name: mode
        schema:
          type: string
          enum:
          - detailed
          - list
          - normal
        description: Level of detail in the response.
      - in: query
        name: name
        schema:
          type: string
      - 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
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicSpacecraftConfigFamilyEndpointList'
          description: ''
  /2.3.0/spacecraft_configuration_families/{id}/:
    get:
      operationId: spacecraft_configuration_families_retrieve
      summary: Get Spacecraft Configuration Family
      description: '#### Modes

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


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


        #### Filters

        Parameters - `manufacturer`, `name`


        Example - [/spacecraft_configuration_families/?manufacturer=121](./?manufacturer=121)


        #### Search

        Fields searched - `manufacturer__abbrev`, `manufacturer__name`, `name`


        Example - [/spacecraft_configuration_families/?search=Northrop](./?search=Northrop)


        #### Ordering

        Fields - `name`


        Example - [/spacecraft_configuration_families/?ordering=name](./?ordering=name)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_configuration_families/?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 Spacecraft Configuration Family.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftConfigFamilyEndpointDetailed'
          description: ''
  /2.3.0/spacecraft_configurations/:
    get:
      operationId: spacecraft_configurations_list
      summary: List Spacecraft Configurations
      description: '#### Modes

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


        Example - [/spacecraft_configurations/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `agency`, `human_rated`, `in_use`, `name`


        Example - [/spacecraft_configurations/?human_rated=True](./?human_rated=True)


        #### Search

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


        Example - [/spacecraft_configurations/?search=Dragon](./?search=Dragon)


        #### Ordering

        Fields - `name`


        Example - [/spacecraft_configurations/?ordering=name](./?ordering=name)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_configurations/?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: agency
        schema:
          type: integer
      - in: query
        name: human_rated
        schema:
          type: boolean
      - in: query
        name: in_use
        schema:
          type: boolean
      - 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
      - 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
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicSpacecraftConfigurationEndpointList'
          description: ''
  /2.3.0/spacecraft_configurations/{id}/:
    get:
      operationId: spacecraft_configurations_retrieve
      summary: Get Spacecraft Configuration
      description: '#### Modes

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


        Example - [/spacecraft_configurations/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `agency`, `human_rated`, `in_use`, `name`


        Example - [/spacecraft_configurations/?human_rated=True](./?human_rated=True)


        #### Search

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


        Example - [/spacecraft_configurations/?search=Dragon](./?search=Dragon)


        #### Ordering

        Fields - `name`


        Example - [/spacecraft_configurations/?ordering=name](./?ordering=name)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_configurations/?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 Spacecraft Configuration.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftConfigDetailed'
          description: ''
  /2.3.0/spacecraft_flights/:
    get:
      operationId: spacecraft_flights_list
      summary: List Spacecraft Flights
      description: '#### Modes

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


        Example - [/spacecraft_flights/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `spacecraft`


        Example - [/spacecraft_flights/?spacecraft=289](./?spacecraft=289)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_flights/?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:
      - 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.
      - 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: spacecraft
        schema:
          type: integer
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicSpacecraftFlightEndpointList'
          description: ''
  /2.3.0/spacecraft_flights/{id}/:
    get:
      operationId: spacecraft_flights_retrieve
      summary: Get Spacecraft Flight
      description: '#### Modes

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


        Example - [/spacecraft_flights/?mode=detailed](./?mode=detailed)


        #### Filters

        Parameters - `spacecraft`


        Example - [/spacecraft_flights/?spacecraft=289](./?spacecraft=289)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/spacecraft_flights/?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 Spacecraft Flight.
        required: true
      tags:
      - Spacecraft
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpacecraftFlightDetailed'
          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
    PolymorphicSpacecraftFlightEndpoint:
      oneOf:
      - $ref: '#/components/schemas/SpacecraftFlightNormal'
      - $ref: '#/components/schemas/SpacecraftFlightDetailed'
      discriminator:
        propertyName: response_mode
        mapping:
          normal: '#/components/schemas/SpacecraftFlightNormal'
          detailed: '#/components/schemas/SpacecraftFlightDetailed'
    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
    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
    SpacecraftConfigType:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
      - id
      - name
    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
    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
    SpacecraftFlightDetailed:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        destination:
          type: string
          nullable: true
          maxLength: 255
        mission_end:
          type: string
          

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