{
  "openapi": "3.0.3",
  "info": {
    "title": "Star Wars API (xample.in)",
    "description": "The SWAPI data (people, planets, films, species, vehicles, starships) with the same paths and answers as swapi.dev, so you can change only the host.\n\n**Nothing is saved.** POST, PUT, PATCH and DELETE are an xample.in addition: they are checked and answered as if saved, but the next request sees the original data. Send `X-Sandbox: <any-name>` (or `?sandbox=<any-name>`) to keep your changes in memory for one hour.\n\nData: SWAPI by Paul Hallett, BSD 3-Clause licence.",
    "license": {
      "name": "BSD-3-Clause",
      "url": "https://github.com/phalt/swapi/blob/master/LICENCE"
    },
    "version": "1.0.0"
  },
  "externalDocs": {
    "description": "All sample APIs and spec formats",
    "url": "https://swapi.xample.in/"
  },
  "servers": [
    {
      "url": "https://swapi.xample.in/api"
    }
  ],
  "tags": [
    {
      "name": "root"
    },
    {
      "name": "people",
      "description": "A person within the Star Wars universe."
    },
    {
      "name": "planets",
      "description": "A large mass, planet or planetoid in the Star Wars universe, at the time of 0 ABY."
    },
    {
      "name": "films",
      "description": "A single film."
    },
    {
      "name": "species",
      "description": "A type of person or character within the Star Wars universe."
    },
    {
      "name": "vehicles",
      "description": "A single transport craft that does not have hyperdrive capability."
    },
    {
      "name": "starships",
      "description": "A single transport craft that has hyperdrive capability."
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "root"
        ],
        "operationId": "getRoot",
        "summary": "Links to every resource",
        "responses": {
          "200": {
            "description": "Links",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Root"
                }
              }
            }
          }
        }
      }
    },
    "/people/": {
      "get": {
        "tags": [
          "people"
        ],
        "operationId": "listPeople",
        "summary": "List people",
        "description": "10 per page. `search` matches name (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of people",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "people"
        ],
        "operationId": "createPerson",
        "summary": "Create a person (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Person"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/people/{id}/": {
      "get": {
        "tags": [
          "people"
        ],
        "operationId": "getPerson",
        "summary": "Get one person",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the person",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Person",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "people"
        ],
        "operationId": "replacePerson",
        "summary": "Replace a person (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the person",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Person"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "people"
        ],
        "operationId": "updatePerson",
        "summary": "Change some fields of a person (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the person",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "people"
        ],
        "operationId": "deletePerson",
        "summary": "Delete a person (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the person",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/people/schema": {
      "get": {
        "tags": [
          "people"
        ],
        "operationId": "schemaPerson",
        "summary": "JSON Schema of a person",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/planets/": {
      "get": {
        "tags": [
          "planets"
        ],
        "operationId": "listPlanets",
        "summary": "List planets",
        "description": "10 per page. `search` matches name (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of planets",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanetList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "planets"
        ],
        "operationId": "createPlanet",
        "summary": "Create a planet (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Planet"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Planet"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/planets/{id}/": {
      "get": {
        "tags": [
          "planets"
        ],
        "operationId": "getPlanet",
        "summary": "Get one planet",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the planet",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Planet",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Planet"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "planets"
        ],
        "operationId": "replacePlanet",
        "summary": "Replace a planet (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the planet",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Planet"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Planet"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "planets"
        ],
        "operationId": "updatePlanet",
        "summary": "Change some fields of a planet (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the planet",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Planet"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "planets"
        ],
        "operationId": "deletePlanet",
        "summary": "Delete a planet (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the planet",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/planets/schema": {
      "get": {
        "tags": [
          "planets"
        ],
        "operationId": "schemaPlanet",
        "summary": "JSON Schema of a planet",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/films/": {
      "get": {
        "tags": [
          "films"
        ],
        "operationId": "listFilms",
        "summary": "List films",
        "description": "10 per page. `search` matches title (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of films",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilmList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "films"
        ],
        "operationId": "createFilm",
        "summary": "Create a film (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Film"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Film"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/films/{id}/": {
      "get": {
        "tags": [
          "films"
        ],
        "operationId": "getFilm",
        "summary": "Get one film",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the film",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Film",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Film"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "films"
        ],
        "operationId": "replaceFilm",
        "summary": "Replace a film (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the film",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Film"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Film"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "films"
        ],
        "operationId": "updateFilm",
        "summary": "Change some fields of a film (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the film",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Film"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "films"
        ],
        "operationId": "deleteFilm",
        "summary": "Delete a film (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the film",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/films/schema": {
      "get": {
        "tags": [
          "films"
        ],
        "operationId": "schemaFilm",
        "summary": "JSON Schema of a film",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/species/": {
      "get": {
        "tags": [
          "species"
        ],
        "operationId": "listSpecies",
        "summary": "List species",
        "description": "10 per page. `search` matches name (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of species",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpeciesList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "species"
        ],
        "operationId": "createSpecies",
        "summary": "Create a species (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Species"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Species"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/species/{id}/": {
      "get": {
        "tags": [
          "species"
        ],
        "operationId": "getSpecies",
        "summary": "Get one species",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the species",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Species",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Species"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "species"
        ],
        "operationId": "replaceSpecies",
        "summary": "Replace a species (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the species",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Species"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Species"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "species"
        ],
        "operationId": "updateSpecies",
        "summary": "Change some fields of a species (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the species",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Species"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "species"
        ],
        "operationId": "deleteSpecies",
        "summary": "Delete a species (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the species",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/species/schema": {
      "get": {
        "tags": [
          "species"
        ],
        "operationId": "schemaSpecies",
        "summary": "JSON Schema of a species",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vehicles/": {
      "get": {
        "tags": [
          "vehicles"
        ],
        "operationId": "listVehicles",
        "summary": "List vehicles",
        "description": "10 per page. `search` matches name, model (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in name, model",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of vehicles",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "vehicles"
        ],
        "operationId": "createVehicle",
        "summary": "Create a vehicle (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Vehicle"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vehicle"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/vehicles/{id}/": {
      "get": {
        "tags": [
          "vehicles"
        ],
        "operationId": "getVehicle",
        "summary": "Get one vehicle",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the vehicle",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Vehicle",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vehicle"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "vehicles"
        ],
        "operationId": "replaceVehicle",
        "summary": "Replace a vehicle (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the vehicle",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Vehicle"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vehicle"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "vehicles"
        ],
        "operationId": "updateVehicle",
        "summary": "Change some fields of a vehicle (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the vehicle",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vehicle"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "vehicles"
        ],
        "operationId": "deleteVehicle",
        "summary": "Delete a vehicle (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the vehicle",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/vehicles/schema": {
      "get": {
        "tags": [
          "vehicles"
        ],
        "operationId": "schemaVehicle",
        "summary": "JSON Schema of a vehicle",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/starships/": {
      "get": {
        "tags": [
          "starships"
        ],
        "operationId": "listStarships",
        "summary": "List starships",
        "description": "10 per page. `search` matches name, model (case-insensitive, part of the text).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Text to find in name, model",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "A page of starships",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StarshipList"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "starships"
        ],
        "operationId": "createStarship",
        "summary": "Create a starship (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Starship"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Starship"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/starships/{id}/": {
      "get": {
        "tags": [
          "starships"
        ],
        "operationId": "getStarship",
        "summary": "Get one starship",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the starship",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "200": {
            "description": "Starship",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Starship"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "starships"
        ],
        "operationId": "replaceStarship",
        "summary": "Replace a starship (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the starship",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Starship"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Starship"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "starships"
        ],
        "operationId": "updateStarship",
        "summary": "Change some fields of a starship (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the starship",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Starship"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "starships"
        ],
        "operationId": "deleteStarship",
        "summary": "Delete a starship (not kept without X-Sandbox)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id of the starship",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "X-Sandbox",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,64}$"
            },
            "description": "Keep your changes in memory for one hour under this name. Without it, writes are answered but not kept."
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            }
          }
        }
      }
    },
    "/starships/schema": {
      "get": {
        "tags": [
          "starships"
        ],
        "operationId": "schemaStarship",
        "summary": "JSON Schema of a starship",
        "responses": {
          "200": {
            "description": "JSON Schema",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "NotFound": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "example": "Not found"
          }
        }
      },
      "BadRequest": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "example": "name is required."
          }
        }
      },
      "Root": {
        "type": "object",
        "properties": {
          "people": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/people/"
          },
          "planets": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/planets/"
          },
          "films": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/films/"
          },
          "species": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/species/"
          },
          "vehicles": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/vehicles/"
          },
          "starships": {
            "type": "string",
            "format": "uri",
            "example": "https://swapi.xample.in/api/starships/"
          }
        }
      },
      "Person": {
        "type": "object",
        "description": "A person within the Star Wars universe.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "Luke Skywalker"
          },
          "height": {
            "type": "string",
            "example": "172"
          },
          "mass": {
            "type": "string",
            "example": "77"
          },
          "hair_color": {
            "type": "string",
            "example": "blond"
          },
          "skin_color": {
            "type": "string",
            "example": "fair"
          },
          "eye_color": {
            "type": "string",
            "example": "blue"
          },
          "birth_year": {
            "type": "string",
            "example": "19BBY"
          },
          "gender": {
            "type": "string",
            "example": "male"
          },
          "homeworld": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "description": "URL of the planet resource",
            "example": "https://swapi.xample.in/api/planets/1/"
          },
          "films": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of films resources",
            "example": [
              "https://swapi.xample.in/api/films/1/"
            ]
          },
          "species": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of species resources",
            "example": [
              "https://swapi.xample.in/api/species/1/"
            ]
          },
          "vehicles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of vehicles resources",
            "example": [
              "https://swapi.xample.in/api/vehicles/1/"
            ]
          },
          "starships": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of starships resources",
            "example": [
              "https://swapi.xample.in/api/starships/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-09T13:50:51.644Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T21:17:56.891Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/people/1/"
          }
        }
      },
      "PersonList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/people/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Person"
            }
          }
        }
      },
      "Planet": {
        "type": "object",
        "description": "A large mass, planet or planetoid in the Star Wars universe, at the time of 0 ABY.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "Tatooine"
          },
          "rotation_period": {
            "type": "string",
            "example": "23"
          },
          "orbital_period": {
            "type": "string",
            "example": "304"
          },
          "diameter": {
            "type": "string",
            "example": "10465"
          },
          "climate": {
            "type": "string",
            "example": "arid"
          },
          "gravity": {
            "type": "string",
            "example": "1 standard"
          },
          "terrain": {
            "type": "string",
            "example": "desert"
          },
          "surface_water": {
            "type": "string",
            "example": "1"
          },
          "population": {
            "type": "string",
            "example": "200000"
          },
          "residents": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of people resources",
            "example": [
              "https://swapi.xample.in/api/people/1/"
            ]
          },
          "films": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of films resources",
            "example": [
              "https://swapi.xample.in/api/films/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-09T13:50:49.641Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T20:58:18.411Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/planets/1/"
          }
        }
      },
      "PlanetList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/planets/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Planet"
            }
          }
        }
      },
      "Film": {
        "type": "object",
        "description": "A single film.",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string",
            "example": "A New Hope"
          },
          "episode_id": {
            "type": "integer",
            "example": 4
          },
          "opening_crawl": {
            "type": "string",
            "example": "It is a period of civil war.\r\nRebel spaceships, striking\r\nfrom a hidden base,..."
          },
          "director": {
            "type": "string",
            "example": "George Lucas"
          },
          "producer": {
            "type": "string",
            "example": "Gary Kurtz, Rick McCallum"
          },
          "release_date": {
            "type": "string",
            "example": "1977-05-25",
            "format": "date"
          },
          "characters": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of people resources",
            "example": [
              "https://swapi.xample.in/api/people/1/"
            ]
          },
          "planets": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of planets resources",
            "example": [
              "https://swapi.xample.in/api/planets/1/"
            ]
          },
          "starships": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of starships resources",
            "example": [
              "https://swapi.xample.in/api/starships/1/"
            ]
          },
          "vehicles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of vehicles resources",
            "example": [
              "https://swapi.xample.in/api/vehicles/1/"
            ]
          },
          "species": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of species resources",
            "example": [
              "https://swapi.xample.in/api/species/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-10T14:23:31.880Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T19:49:45.256Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/films/1/"
          }
        }
      },
      "FilmList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/films/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Film"
            }
          }
        }
      },
      "Species": {
        "type": "object",
        "description": "A type of person or character within the Star Wars universe.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "Human"
          },
          "classification": {
            "type": "string",
            "example": "mammal"
          },
          "designation": {
            "type": "string",
            "example": "sentient"
          },
          "average_height": {
            "type": "string",
            "example": "180"
          },
          "skin_colors": {
            "type": "string",
            "example": "caucasian, black, asian, hispanic"
          },
          "hair_colors": {
            "type": "string",
            "example": "blonde, brown, black, red"
          },
          "eye_colors": {
            "type": "string",
            "example": "brown, blue, green, hazel, grey, amber"
          },
          "average_lifespan": {
            "type": "string",
            "example": "120"
          },
          "homeworld": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "description": "URL of the planet resource",
            "example": "https://swapi.xample.in/api/planets/1/"
          },
          "language": {
            "type": "string",
            "example": "Galactic Basic"
          },
          "people": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of people resources",
            "example": [
              "https://swapi.xample.in/api/people/1/"
            ]
          },
          "films": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of films resources",
            "example": [
              "https://swapi.xample.in/api/films/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-10T13:52:11.567Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T21:36:42.136Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/species/1/"
          }
        }
      },
      "SpeciesList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/species/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Species"
            }
          }
        }
      },
      "Vehicle": {
        "type": "object",
        "description": "A single transport craft that does not have hyperdrive capability.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "Sand Crawler"
          },
          "model": {
            "type": "string",
            "example": "Digger Crawler"
          },
          "manufacturer": {
            "type": "string",
            "example": "Corellia Mining Corporation"
          },
          "cost_in_credits": {
            "type": "string",
            "example": "150000"
          },
          "length": {
            "type": "string",
            "example": "36.8 "
          },
          "max_atmosphering_speed": {
            "type": "string",
            "example": "30"
          },
          "crew": {
            "type": "string",
            "example": "46"
          },
          "passengers": {
            "type": "string",
            "example": "30"
          },
          "cargo_capacity": {
            "type": "string",
            "example": "50000"
          },
          "consumables": {
            "type": "string",
            "example": "2 months"
          },
          "vehicle_class": {
            "type": "string",
            "example": "wheeled"
          },
          "pilots": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of people resources",
            "example": [
              "https://swapi.xample.in/api/people/1/"
            ]
          },
          "films": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of films resources",
            "example": [
              "https://swapi.xample.in/api/films/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-10T15:36:25.724Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T21:30:21.661Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/vehicles/1/"
          }
        }
      },
      "VehicleList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/vehicles/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Vehicle"
            }
          }
        }
      },
      "Starship": {
        "type": "object",
        "description": "A single transport craft that has hyperdrive capability.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "CR90 corvette"
          },
          "model": {
            "type": "string",
            "example": "CR90 corvette"
          },
          "manufacturer": {
            "type": "string",
            "example": "Corellian Engineering Corporation"
          },
          "cost_in_credits": {
            "type": "string",
            "example": "3500000"
          },
          "length": {
            "type": "string",
            "example": "150"
          },
          "max_atmosphering_speed": {
            "type": "string",
            "example": "950"
          },
          "crew": {
            "type": "string",
            "example": "30-165"
          },
          "passengers": {
            "type": "string",
            "example": "600"
          },
          "cargo_capacity": {
            "type": "string",
            "example": "3000000"
          },
          "consumables": {
            "type": "string",
            "example": "1 year"
          },
          "hyperdrive_rating": {
            "type": "string",
            "example": "2.0"
          },
          "MGLT": {
            "type": "string",
            "example": "60"
          },
          "starship_class": {
            "type": "string",
            "example": "corvette"
          },
          "pilots": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of people resources",
            "example": [
              "https://swapi.xample.in/api/people/1/"
            ]
          },
          "films": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "URLs of films resources",
            "example": [
              "https://swapi.xample.in/api/films/1/"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-10T14:20:33.369Z"
          },
          "edited": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2014-12-20T21:23:49.867Z"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "example": "https://swapi.xample.in/api/starships/1/"
          }
        }
      },
      "StarshipList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 82
          },
          "next": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": "https://swapi.xample.in/api/starships/?page=2"
          },
          "previous": {
            "type": "string",
            "format": "uri",
            "nullable": true,
            "example": null
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Starship"
            }
          }
        }
      }
    }
  }
}