TheSpaceDevs LL2 API Previous API

The Previous API from TheSpaceDevs LL2 API — 4 operation(s) for previous.

OpenAPI Specification

thespacedevs-ll2-api-previous-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TheSpaceDevs LL2 Previous 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: Previous
paths:
  /2.3.0/events/previous/:
    get:
      operationId: events_previous_list
      summary: List Previous Events
      description: '#### Modes

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


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


        #### Filters

        Parameters - `agency__ids`, `date__gt`, `date__gt__lt`, `date__gte`, `date__lte`, `day`, `id`, `last_updated__gte`, `last_updated__lte`, `month`, `program`, `slug`, `type`, `type__ids`, `video_url`, `year`


        Example - [/events/previous/?type__ids=2,8](./?type__ids=2,8)


        #### Search

        Fields searched - `name`


        Example - [/events/previous/?search=Flyby](./?search=Flyby)


        #### Ordering

        Fields - `date`, `last_updated`


        Example - [/events/previous/?ordering=-last_updated](./?ordering=-last_updated)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/events/previous/?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__ids
        schema:
          type: array
          items:
            type: integer
        description: Comma-separated agency IDs.
        explode: false
        style: form
      - in: query
        name: date__gt
        schema:
          type: string
          format: date-time
        description: Date is greater than
      - in: query
        name: date__gt__lt
        schema:
          type: string
          format: date-time
        description: Date is less than
      - in: query
        name: date__gte
        schema:
          type: string
          format: date-time
        description: Date is greater than or equal to
      - in: query
        name: date__lte
        schema:
          type: string
          format: date-time
        description: Date is less than or equal to
      - in: query
        name: day
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: id
        schema:
          type: array
          items:
            type: integer
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: last_updated__gte
        schema:
          type: string
          format: date-time
        description: Last Update is greater than or equal to
      - in: query
        name: last_updated__lte
        schema:
          type: string
          format: date-time
        description: Last Update is less than or equal to
      - 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: month
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - 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
      - in: query
        name: program
        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: slug
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      - in: query
        name: type__ids
        schema:
          type: array
          items:
            type: integer
        description: Comma-separated event type IDs.
        explode: false
        style: form
      - in: query
        name: video_url
        schema:
          type: array
          items:
            type: string
        description: Comma-separated video URLs.
        explode: false
        style: form
      - in: query
        name: year
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      tags:
      - Previous
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicEventsEndpointList'
          description: ''
  /2.3.0/events/previous/{id}/:
    get:
      operationId: events_previous_retrieve
      summary: Get Previous Event
      description: '#### Modes

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


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


        #### Filters

        Parameters - `agency__ids`, `date__gt`, `date__gt__lt`, `date__gte`, `date__lte`, `day`, `id`, `last_updated__gte`, `last_updated__lte`, `month`, `program`, `slug`, `type`, `type__ids`, `video_url`, `year`


        Example - [/events/previous/?type__ids=2,8](./?type__ids=2,8)


        #### Search

        Fields searched - `name`


        Example - [/events/previous/?search=Flyby](./?search=Flyby)


        #### Ordering

        Fields - `date`, `last_updated`


        Example - [/events/previous/?ordering=-last_updated](./?ordering=-last_updated)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/events/previous/?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 Event.
        required: true
      tags:
      - Previous
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventEndpointDetailed'
          description: ''
  /2.3.0/launches/previous/:
    get:
      operationId: launches_previous_list
      summary: List Previous Launches
      description: '#### Modes

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


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


        #### Filters

        Parameters - `agency_launch_attempt_count`, `agency_launch_attempt_count__gt`, `agency_launch_attempt_count__gte`, `agency_launch_attempt_count__lt`, `agency_launch_attempt_count__lte`, `agency_launch_attempt_count_year`, `agency_launch_attempt_count_year__gt`, `agency_launch_attempt_count_year__gte`, `agency_launch_attempt_count_year__lt`, `agency_launch_attempt_count_year__lte`, `day`, `id`, `include_suborbital`, `is_crewed`, `last_updated__gte`, `last_updated__lte`, `launch_designator`, `launcher_config__id`, `location__ids`, `location_launch_attempt_count`, `location_launch_attempt_count__gt`, `location_launch_attempt_count__gte`, `location_launch_attempt_count__lt`, `location_launch_attempt_count__lte`, `location_launch_attempt_count_year`, `location_launch_attempt_count_year__gt`, `location_launch_attempt_count_year__gte`, `location_launch_attempt_count_year__lt`, `location_launch_attempt_count_year__lte`, `lsp__id`, `lsp__name`, `mission__orbit__celestial_body__id`, `mission__orbit__name`, `mission__orbit__name__icontains`, `month`, `name`, `net__gt`, `net__gte`, `net__lt`, `net__lte`, `orbital_launch_attempt_count`, `orbital_launch_attempt_count__gt`, `orbital_launch_attempt_count__gte`, `orbital_launch_attempt_count__lt`, `orbital_launch_attempt_count__lte`, `orbital_launch_attempt_count_year`, `orbital_launch_attempt_count_year__gt`, `orbital_launch_attempt_count_year__gte`, `orbital_launch_attempt_count_year__lt`, `orbital_launch_attempt_count_year__lte`, `pad`, `pad__location`, `pad__location__celestial_body__id`, `pad_launch_attempt_count`, `pad_launch_attempt_count__gt`, `pad_launch_attempt_count__gte`, `pad_launch_attempt_count__lt`, `pad_launch_attempt_count__lte`, `pad_launch_attempt_count_year`, `pad_launch_attempt_count_year__gt`, `pad_launch_attempt_count_year__gte`, `pad_launch_attempt_count_year__lt`, `pad_launch_attempt_count_year__lte`, `program`, `related_lsp__id`, `related_lsp__name`, `rocket__configuration__full_name`, `rocket__configuration__full_name__icontains`, `rocket__configuration__id`, `rocket__configuration__manufacturer__name`, `rocket__configuration__manufacturer__name__icontains`, `rocket__configuration__name`, `rocket__spacecraftflight__spacecraft__id`, `rocket__spacecraftflight__spacecraft__name`, `rocket__spacecraftflight__spacecraft__name__icontains`, `serial_number`, `slug`, `spacecraft_config__ids`, `status`, `status__ids`, `video_url`, `window_end__gt`, `window_end__gte`, `window_end__lt`, `window_end__lte`, `window_start__gt`, `window_start__gte`, `window_start__lt`, `window_start__lte`, `year`


        Example - [/launches/previous/?pad__location=13](./?pad__location=13)


        #### Search

        Fields searched - `launch_designator`, `launch_service_provider__name`, `mission__name`, `name`, `pad__location__name`, `pad__name`, `rocket__configuration__manufacturer__abbrev`, `rocket__configuration__manufacturer__name`, `rocket__configuration__name`, `rocket__spacecraftflight__spacecraft__name`


        Example - [/launches/previous/?search=Starlink](./?search=Starlink)


        #### Ordering

        Fields - `id`, `last_updated`, `name`, `net`


        Example - [/launches/previous/?ordering=-last_updated](./?ordering=-last_updated)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/launches/previous/?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_launch_attempt_count
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count__gt
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count__gte
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count__lt
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count__lte
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count_year
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count_year__gt
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count_year__gte
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count_year__lt
        schema:
          type: integer
      - in: query
        name: agency_launch_attempt_count_year__lte
        schema:
          type: integer
      - in: query
        name: day
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: id
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: include_suborbital
        schema:
          type: boolean
      - in: query
        name: is_crewed
        schema:
          type: boolean
      - in: query
        name: last_updated__gte
        schema:
          type: string
          format: date-time
        description: Last Update is greater than or equal to
      - in: query
        name: last_updated__lte
        schema:
          type: string
          format: date-time
        description: Last Update is less than or equal to
      - in: query
        name: launch_designator
        schema:
          type: array
          items:
            type: string
        description: Comma-separated (COSPAR) international launch designators.
        explode: false
        style: form
      - in: query
        name: launcher_config__id
        schema:
          type: array
          items:
            type: integer
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: location__ids
        schema:
          type: array
          items:
            type: integer
        description: Comma-separated location IDs.
        explode: false
        style: form
      - in: query
        name: location_launch_attempt_count
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count__gt
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count__gte
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count__lt
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count__lte
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count_year
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count_year__gt
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count_year__gte
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count_year__lt
        schema:
          type: integer
      - in: query
        name: location_launch_attempt_count_year__lte
        schema:
          type: integer
      - in: query
        name: lsp__id
        schema:
          type: array
          items:
            type: integer
        description: Comma-separated launch service provider (agency) IDs.
        explode: false
        style: form
      - in: query
        name: lsp__name
        schema:
          type: array
          items:
            type: string
        description: Comma-separated launch service provider names.
        explode: false
        style: form
      - in: query
        name: mission__orbit__celestial_body__id
        schema:
          type: integer
      - in: query
        name: mission__orbit__name
        schema:
          type: string
      - in: query
        name: mission__orbit__name__icontains
        schema:
          type: string
      - in: query
        name: mode
        schema:
          type: string
          enum:
          - detailed
          - list
          - normal
        description: Level of detail in the response.
      - in: query
        name: month
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: net__gt
        schema:
          type: string
          format: date-time
        description: NET is greater than
      - in: query
        name: net__gte
        schema:
          type: string
          format: date-time
        description: NET is greater than or equal to
      - in: query
        name: net__lt
        schema:
          type: string
          format: date-time
        description: NET is less than
      - in: query
        name: net__lte
        schema:
          type: string
          format: date-time
        description: NET is less than or equal to
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count__gt
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count__gte
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count__lt
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count__lte
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count_year
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count_year__gt
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count_year__gte
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count_year__lt
        schema:
          type: integer
      - in: query
        name: orbital_launch_attempt_count_year__lte
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: pad
        schema:
          type: integer
      - in: query
        name: pad__location
        schema:
          type: integer
      - in: query
        name: pad__location__celestial_body__id
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count__gt
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count__gte
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count__lt
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count__lte
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count_year
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count_year__gt
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count_year__gte
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count_year__lt
        schema:
          type: integer
      - in: query
        name: pad_launch_attempt_count_year__lte
        schema:
          type: integer
      - in: query
        name: program
        schema:
          type: array
          items:
            type: integer
        explode: true
        style: form
      - in: query
        name: related_lsp__id
        schema:
          type: array
          items:
            type: integer
        description: Comma-separated agency IDs related to the launch service provider.
        explode: false
        style: form
      - in: query
        name: related_lsp__name
        schema:
          type: array
          items:
            type: string
        description: Comma-separated agency names related to the launch service provider.
        explode: false
        style: form
      - in: query
        name: rocket__configuration__full_name
        schema:
          type: string
      - in: query
        name: rocket__configuration__full_name__icontains
        schema:
          type: string
      - in: query
        name: rocket__configuration__id
        schema:
          type: integer
      - in: query
        name: rocket__configuration__manufacturer__name
        schema:
          type: string
      - in: query
        name: rocket__configuration__manufacturer__name__icontains
        schema:
          type: string
      - in: query
        name: rocket__configuration__name
        schema:
          type: string
      - in: query
        name: rocket__spacecraftflight__spacecraft__id
        schema:
          type: integer
      - in: query
        name: rocket__spacecraftflight__spacecraft__name
        schema:
          type: string
      - in: query
        name: rocket__spacecraftflight__spacecraft__name__icontains
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: serial_number
        schema:
          type: array
          items:
            type: string
        description: Comma-separated first stage booster serial numbers.
        explode: false
        style: form
      - in: query
        name: slug
        schema:
          type: string
      - in: query
        name: spacecraft_config__ids
        schema:
          type: array
          items:
            type: integer
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: status
        schema:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      - in: query
        name: status__ids
        schema:
          type: array
          items:
            type: integer
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: video_url
        schema:
          type: array
          items:
            type: string
        description: Comma-separated video URLs.
        explode: false
        style: form
      - in: query
        name: window_end__gt
        schema:
          type: string
          format: date-time
        description: Window End is greater than
      - in: query
        name: window_end__gte
        schema:
          type: string
          format: date-time
        description: Window End is greater than or equal to
      - in: query
        name: window_end__lt
        schema:
          type: string
          format: date-time
        description: Window End is less than
      - in: query
        name: window_end__lte
        schema:
          type: string
          format: date-time
        description: Window End is less than or equal to
      - in: query
        name: window_start__gt
        schema:
          type: string
          format: date-time
        description: Window Start is greater than
      - in: query
        name: window_start__gte
        schema:
          type: string
          format: date-time
        description: Window Start is greater than or equal to
      - in: query
        name: window_start__lt
        schema:
          type: string
          format: date-time
        description: Window Start is less than
      - in: query
        name: window_start__lte
        schema:
          type: string
          format: date-time
        description: Window Start is less than or equal to
      - in: query
        name: year
        schema:
          type: array
          items:
            type: number
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      tags:
      - Previous
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPolymorphicLaunchEndpointList'
          description: ''
  /2.3.0/launches/previous/{id}/:
    get:
      operationId: launches_previous_retrieve
      summary: Get Previous Launch
      description: '#### Modes

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


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


        #### Filters

        Parameters - `agency_launch_attempt_count`, `agency_launch_attempt_count__gt`, `agency_launch_attempt_count__gte`, `agency_launch_attempt_count__lt`, `agency_launch_attempt_count__lte`, `agency_launch_attempt_count_year`, `agency_launch_attempt_count_year__gt`, `agency_launch_attempt_count_year__gte`, `agency_launch_attempt_count_year__lt`, `agency_launch_attempt_count_year__lte`, `day`, `id`, `include_suborbital`, `is_crewed`, `last_updated__gte`, `last_updated__lte`, `launch_designator`, `launcher_config__id`, `location__ids`, `location_launch_attempt_count`, `location_launch_attempt_count__gt`, `location_launch_attempt_count__gte`, `location_launch_attempt_count__lt`, `location_launch_attempt_count__lte`, `location_launch_attempt_count_year`, `location_launch_attempt_count_year__gt`, `location_launch_attempt_count_year__gte`, `location_launch_attempt_count_year__lt`, `location_launch_attempt_count_year__lte`, `lsp__id`, `lsp__name`, `mission__orbit__celestial_body__id`, `mission__orbit__name`, `mission__orbit__name__icontains`, `month`, `name`, `net__gt`, `net__gte`, `net__lt`, `net__lte`, `orbital_launch_attempt_count`, `orbital_launch_attempt_count__gt`, `orbital_launch_attempt_count__gte`, `orbital_launch_attempt_count__lt`, `orbital_launch_attempt_count__lte`, `orbital_launch_attempt_count_year`, `orbital_launch_attempt_count_year__gt`, `orbital_launch_attempt_count_year__gte`, `orbital_launch_attempt_count_year__lt`, `orbital_launch_attempt_count_year__lte`, `pad`, `pad__location`, `pad__location__celestial_body__id`, `pad_launch_attempt_count`, `pad_launch_attempt_count__gt`, `pad_launch_attempt_count__gte`, `pad_launch_attempt_count__lt`, `pad_launch_attempt_count__lte`, `pad_launch_attempt_count_year`, `pad_launch_attempt_count_year__gt`, `pad_launch_attempt_count_year__gte`, `pad_launch_attempt_count_year__lt`, `pad_launch_attempt_count_year__lte`, `program`, `related_lsp__id`, `related_lsp__name`, `rocket__configuration__full_name`, `rocket__configuration__full_name__icontains`, `rocket__configuration__id`, `rocket__configuration__manufacturer__name`, `rocket__configuration__manufacturer__name__icontains`, `rocket__configuration__name`, `rocket__spacecraftflight__spacecraft__id`, `rocket__spacecraftflight__spacecraft__name`, `rocket__spacecraftflight__spacecraft__name__icontains`, `serial_number`, `slug`, `spacecraft_config__ids`, `status`, `status__ids`, `video_url`, `window_end__gt`, `window_end__gte`, `window_end__lt`, `window_end__lte`, `window_start__gt`, `window_start__gte`, `window_start__lt`, `window_start__lte`, `year`


        Example - [/launches/previous/?pad__location=13](./?pad__location=13)


        #### Search

        Fields searched - `launch_designator`, `launch_service_provider__name`, `mission__name`, `name`, `pad__location__name`, `pad__name`, `rocket__configuration__manufacturer__abbrev`, `rocket__configuration__manufacturer__name`, `rocket__configuration__name`, `rocket__spacecraftflight__spacecraft__name`


        Example - [/launches/previous/?search=Starlink](./?search=Starlink)


        #### Ordering

        Fields - `id`, `last_updated`, `name`, `net`


        Example - [/launches/previous/?ordering=-last_updated](./?ordering=-last_updated)


        #### Number of results

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


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


        #### Format

        Switch to JSON output - [/launches/previous/?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: string
          format: uuid
        description: A UUID string identifying this Launch.
        required: true
      tags:
      - Previous
      security:
      - cookieAuth: []
      - Token_Authentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchDetailed'
          description: ''
components:
  schemas:
    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
    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
    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:
    

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