{
 "openapi": "3.1.0",
 "info": {
  "title": "ASAS-SN Sky Patrol V3 API",
  "version": "3.1",
  "description": "ASAS-SN stellar and Solar System light curves. Check /v3/release for actual served coverage, sample scope and release identifiers. Server 1.0.0. Science GET routes support release pinning under /v3/r/{serve_id}/. Anonymous reads are allowed with smaller quotas. Account-enabled deployments use no-store responses and enforce quotas even for internally cached results. Unknown science parameters are rejected (400)."
 },
 "servers": [
  {
   "url": "https://asassn-v3.ifa.hawaii.edu"
  }
 ],
 "security": [
  {},
  {
   "Bearer": []
  },
  {
   "Session": []
  }
 ],
 "paths": {
  "/v3/health": {
   "get": {
    "operationId": "health",
    "summary": "Process and dataset health (200 when at least one dataset is ready)",
    "tags": [
     "meta"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/release": {
   "get": {
    "operationId": "release",
    "summary": "Release ids, serve ids and dataset sizes (rc1-compatible keys)",
    "tags": [
     "meta"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/status": {
   "get": {
    "operationId": "status",
    "summary": "Site message and dataset states",
    "tags": [
     "meta"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/flags": {
   "get": {
    "operationId": "flags",
    "summary": "Quality bits, presets and the SS recommended rule",
    "tags": [
     "meta"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/flags": {
   "get": {
    "operationId": "flags_versioned",
    "summary": "Quality bits, presets and the SS recommended rule (release pinned)",
    "tags": [
     "meta"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/resolve": {
   "get": {
    "operationId": "resolve",
    "summary": "Resolve coordinates, AV3 names, star ids, Gaia DR3/DR2 ids and SS names (local data only)",
    "tags": [
     "search"
    ],
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "text to resolve: coordinates, AV3 name, star id, Gaia DR3/DR2 id (Gaia DR3 <id>, DR2 <id>, a bare 15-19 digit id), SS name/number/designation"
     },
     {
      "name": "scope",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "auto",
        "stars",
        "ss"
       ],
       "default": "auto"
      },
      "description": "where to look: auto (stars and Solar System), stars, or ss"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 50,
       "default": 10
      },
      "description": "maximum number of candidates returned"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/resolve": {
   "get": {
    "operationId": "resolve_versioned",
    "summary": "Resolve coordinates, AV3 names, star ids, Gaia DR3/DR2 ids and SS names (local data only) (release pinned)",
    "tags": [
     "search"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "text to resolve: coordinates, AV3 name, star id, Gaia DR3/DR2 id (Gaia DR3 <id>, DR2 <id>, a bare 15-19 digit id), SS name/number/designation"
     },
     {
      "name": "scope",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "auto",
        "stars",
        "ss"
       ],
       "default": "auto"
      },
      "description": "where to look: auto (stars and Solar System), stars, or ss"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 50,
       "default": 10
      },
      "description": "maximum number of candidates returned"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/stars/cone": {
   "get": {
    "operationId": "stars_cone",
    "summary": "Stars within r arcsec of (ra, dec), sorted by separation",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "ra",
      "in": "query",
      "required": true,
      "schema": {
       "type": "number",
       "minimum": 0.0,
       "maximum": 360.0
      },
      "description": "RA (deg, ICRS)"
     },
     {
      "name": "dec",
      "in": "query",
      "required": true,
      "schema": {
       "type": "number",
       "minimum": -90.0,
       "maximum": 90.0
      },
      "description": "Dec (deg, ICRS)"
     },
     {
      "name": "r",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "minimum": 0.001,
       "maximum": 600.0,
       "default": 60
      },
      "description": "radius (arcsec)"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 1000,
       "default": 100
      },
      "description": "maximum number of stars returned, nearest first"
     },
     {
      "name": "mag_max",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "minimum": -5.0,
       "maximum": 30.0
      },
      "description": "faintest reference g mag"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "json",
        "csv"
       ],
       "default": "json"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/stars/cone": {
   "get": {
    "operationId": "stars_cone_versioned",
    "summary": "Stars within r arcsec of (ra, dec), sorted by separation (release pinned)",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ra",
      "in": "query",
      "required": true,
      "schema": {
       "type": "number",
       "minimum": 0.0,
       "maximum": 360.0
      },
      "description": "RA (deg, ICRS)"
     },
     {
      "name": "dec",
      "in": "query",
      "required": true,
      "schema": {
       "type": "number",
       "minimum": -90.0,
       "maximum": 90.0
      },
      "description": "Dec (deg, ICRS)"
     },
     {
      "name": "r",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "minimum": 0.001,
       "maximum": 600.0,
       "default": 60
      },
      "description": "radius (arcsec)"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 1000,
       "default": 100
      },
      "description": "maximum number of stars returned, nearest first"
     },
     {
      "name": "mag_max",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "minimum": -5.0,
       "maximum": 30.0
      },
      "description": "faintest reference g mag"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "json",
        "csv"
       ],
       "default": "json"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/stars/{ref}": {
   "get": {
    "operationId": "stars_object",
    "summary": "One star: position, magnitudes, curves (no payload read)",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "star id (integer), sp3:<n>, V3 <n>, AV3 name, ordinal AV3_<n>, or a Gaia id written 'Gaia DR3 <source_id>' / 'Gaia DR2 <source_id>' (URL-encoded)"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/stars/{ref}": {
   "get": {
    "operationId": "stars_object_versioned",
    "summary": "One star: position, magnitudes, curves (no payload read) (release pinned)",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "star id (integer), sp3:<n>, V3 <n>, AV3 name, ordinal AV3_<n>, or a Gaia id written 'Gaia DR3 <source_id>' / 'Gaia DR2 <source_id>' (URL-encoded)"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/stars/{ref}/lc": {
   "get": {
    "operationId": "stars_lc",
    "summary": "Light curve of one star",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "star id (integer), sp3:<n>, V3 <n>, AV3 name, ordinal AV3_<n>, or a Gaia id written 'Gaia DR3 <source_id>' / 'Gaia DR2 <source_id>' (URL-encoded)"
     },
     {
      "name": "aperture",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "default",
        "1",
        "1.5",
        "2",
        "3",
        "all"
       ],
       "default": "default"
      },
      "description": "aperture radius (px)"
     },
     {
      "name": "band",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "g",
        "V",
        "all"
       ],
       "default": "all"
      },
      "description": "photometric band: g, V, or all"
     },
     {
      "name": "fields",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "description": "comma-separated list",
       "default": "all"
      },
      "description": "comma list of field names, or all"
     },
     {
      "name": "cols",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "lean",
        "full"
       ],
       "default": "lean"
      },
      "description": "column set: lean (photometry) or full (adds image, calibration and position columns)"
     },
     {
      "name": "rows",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "all",
        "detected"
       ],
       "default": "all"
      },
      "description": "all rows, or only detections (> 5 sigma)"
     },
     {
      "name": "exclude_quality",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 0,
       "maximum": 65535,
       "default": 0
      },
      "description": "hide rows whose quality has any of these bits (decimal or 0x hex)"
     },
     {
      "name": "error_model",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "legacy"
       ],
       "default": "legacy"
      },
      "description": "magnitude-error model: legacy (as in rc1) or v2 (measured gain and read noise)"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "sp3c",
        "json",
        "csv",
        "ecsv",
        "arrow",
        "parquet"
       ],
       "default": "sp3c"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.asassn.sp3c": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/json": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/csv": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/plain": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.arrow.stream": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.parquet": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/stars/{ref}/lc": {
   "get": {
    "operationId": "stars_lc_versioned",
    "summary": "Light curve of one star (release pinned)",
    "tags": [
     "stars"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "star id (integer), sp3:<n>, V3 <n>, AV3 name, ordinal AV3_<n>, or a Gaia id written 'Gaia DR3 <source_id>' / 'Gaia DR2 <source_id>' (URL-encoded)"
     },
     {
      "name": "aperture",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "default",
        "1",
        "1.5",
        "2",
        "3",
        "all"
       ],
       "default": "default"
      },
      "description": "aperture radius (px)"
     },
     {
      "name": "band",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "g",
        "V",
        "all"
       ],
       "default": "all"
      },
      "description": "photometric band: g, V, or all"
     },
     {
      "name": "fields",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "description": "comma-separated list",
       "default": "all"
      },
      "description": "comma list of field names, or all"
     },
     {
      "name": "cols",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "lean",
        "full"
       ],
       "default": "lean"
      },
      "description": "column set: lean (photometry) or full (adds image, calibration and position columns)"
     },
     {
      "name": "rows",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "all",
        "detected"
       ],
       "default": "all"
      },
      "description": "all rows, or only detections (> 5 sigma)"
     },
     {
      "name": "exclude_quality",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 0,
       "maximum": 65535,
       "default": 0
      },
      "description": "hide rows whose quality has any of these bits (decimal or 0x hex)"
     },
     {
      "name": "error_model",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "legacy"
       ],
       "default": "legacy"
      },
      "description": "magnitude-error model: legacy (as in rc1) or v2 (measured gain and read noise)"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "sp3c",
        "json",
        "csv",
        "ecsv",
        "arrow",
        "parquet"
       ],
       "default": "sp3c"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.asassn.sp3c": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/json": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/csv": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/plain": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.arrow.stream": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.parquet": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/suggest": {
   "get": {
    "operationId": "ss_suggest",
    "summary": "Autocomplete solar-system names",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "name, number or designation prefix"
     },
     {
      "name": "n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 20,
       "default": 10
      },
      "description": "maximum number of suggestions"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/suggest": {
   "get": {
    "operationId": "ss_suggest_versioned",
    "summary": "Autocomplete solar-system names (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "name, number or designation prefix"
     },
     {
      "name": "n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 20,
       "default": 10
      },
      "description": "maximum number of suggestions"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/resolve": {
   "get": {
    "operationId": "ss_resolve",
    "summary": "Resolve a solar-system name, number or designation",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "name, number, designation or slug of a Solar System object"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 50,
       "default": 20
      },
      "description": "maximum number of candidates when ambiguous"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/resolve": {
   "get": {
    "operationId": "ss_resolve_versioned",
    "summary": "Resolve a solar-system name, number or designation (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "maxLength": 256
      },
      "description": "name, number, designation or slug of a Solar System object"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 50,
       "default": 20
      },
      "description": "maximum number of candidates when ambiguous"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/objects/{ref}": {
   "get": {
    "operationId": "ss_object",
    "summary": "One solar-system object: record, orbit, default selection, notes",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/objects/{ref}": {
   "get": {
    "operationId": "ss_object_versioned",
    "summary": "One solar-system object: record, orbit, default selection, notes (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/objects/{ref}/lc": {
   "get": {
    "operationId": "ss_lc",
    "summary": "Light curve of one solar-system object",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     },
     {
      "name": "bands",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "description": "comma-separated list",
       "default": "g,V"
      },
      "description": "comma list of bands: g, V or g,V"
     },
     {
      "name": "product",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "auto",
        "red",
        "conv"
       ],
       "default": "auto"
      },
      "description": "image product: red (reduced images), conv (difference images), or auto (chosen per object)"
     },
     {
      "name": "aperture",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "enum": [
        0.75,
        1.0,
        1.25,
        1.5,
        2.0,
        3.0
       ],
       "minimum": 0.75,
       "maximum": 3.0,
       "default": "2"
      },
      "description": "aperture radius (px)"
     },
     {
      "name": "error_floor",
      "in": "query",
      "required": false,
      "schema": {
       "oneOf": [
        {
         "type": "number",
         "minimum": 0.0,
         "maximum": 1.0
        },
        {
         "type": "string",
         "enum": [
          "camera",
          "none"
         ]
        }
       ],
       "default": "camera"
      },
      "description": "camera (per-camera floor), none, or a floor in mag"
     },
     {
      "name": "deciles",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "object_camera",
        "object_field_camera",
        "none"
       ],
       "default": "object_camera"
      },
      "description": "grouping for the decile quality bits (computed on the full curve before filters), or none"
     },
     {
      "name": "max_blend",
      "in": "query",
      "required": false,
      "schema": {
       "oneOf": [
        {
         "type": "number",
         "minimum": 0.0,
         "maximum": 1000.0
        },
        {
         "type": "string",
         "enum": [
          "none"
         ]
        }
       ],
       "default": "0.05"
      },
      "description": "red rows: recommended needs |blend_ratio| <= max_blend"
     },
     {
      "name": "rows",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "all",
        "detected",
        "recommended"
       ],
       "default": "all"
      },
      "description": "all rows, detections only, or recommended detections (quality, flat and blend cuts)"
     },
     {
      "name": "exclude_quality",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 0,
       "maximum": 65535,
       "default": 0
      },
      "description": "hide rows whose quality has any of these bits (decimal or 0x hex)"
     },
     {
      "name": "cols",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "web",
        "full"
       ],
       "default": "web"
      },
      "description": "column set: web (what the site plots) or full (all columns)"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "sp3c",
        "json",
        "csv",
        "ecsv",
        "arrow",
        "parquet"
       ],
       "default": "sp3c"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.asassn.sp3c": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/json": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/csv": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/plain": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.arrow.stream": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.parquet": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/objects/{ref}/lc": {
   "get": {
    "operationId": "ss_lc_versioned",
    "summary": "Light curve of one solar-system object (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     },
     {
      "name": "bands",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "description": "comma-separated list",
       "default": "g,V"
      },
      "description": "comma list of bands: g, V or g,V"
     },
     {
      "name": "product",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "auto",
        "red",
        "conv"
       ],
       "default": "auto"
      },
      "description": "image product: red (reduced images), conv (difference images), or auto (chosen per object)"
     },
     {
      "name": "aperture",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "enum": [
        0.75,
        1.0,
        1.25,
        1.5,
        2.0,
        3.0
       ],
       "minimum": 0.75,
       "maximum": 3.0,
       "default": "2"
      },
      "description": "aperture radius (px)"
     },
     {
      "name": "error_floor",
      "in": "query",
      "required": false,
      "schema": {
       "oneOf": [
        {
         "type": "number",
         "minimum": 0.0,
         "maximum": 1.0
        },
        {
         "type": "string",
         "enum": [
          "camera",
          "none"
         ]
        }
       ],
       "default": "camera"
      },
      "description": "camera (per-camera floor), none, or a floor in mag"
     },
     {
      "name": "deciles",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "object_camera",
        "object_field_camera",
        "none"
       ],
       "default": "object_camera"
      },
      "description": "grouping for the decile quality bits (computed on the full curve before filters), or none"
     },
     {
      "name": "max_blend",
      "in": "query",
      "required": false,
      "schema": {
       "oneOf": [
        {
         "type": "number",
         "minimum": 0.0,
         "maximum": 1000.0
        },
        {
         "type": "string",
         "enum": [
          "none"
         ]
        }
       ],
       "default": "0.05"
      },
      "description": "red rows: recommended needs |blend_ratio| <= max_blend"
     },
     {
      "name": "rows",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "all",
        "detected",
        "recommended"
       ],
       "default": "all"
      },
      "description": "all rows, detections only, or recommended detections (quality, flat and blend cuts)"
     },
     {
      "name": "exclude_quality",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 0,
       "maximum": 65535,
       "default": 0
      },
      "description": "hide rows whose quality has any of these bits (decimal or 0x hex)"
     },
     {
      "name": "cols",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "web",
        "full"
       ],
       "default": "web"
      },
      "description": "column set: web (what the site plots) or full (all columns)"
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "sp3c",
        "json",
        "csv",
        "ecsv",
        "arrow",
        "parquet"
       ],
       "default": "sp3c"
      },
      "description": "response format"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.asassn.sp3c": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/json": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/csv": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "text/plain": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.arrow.stream": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       },
       "application/vnd.apache.parquet": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/objects/{ref}/orbit": {
   "get": {
    "operationId": "ss_orbit",
    "summary": "Orbit elements and polyline (heliocentric ecliptic J2000, AU)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     },
     {
      "name": "n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 2,
       "maximum": 3601,
       "default": 361
      },
      "description": "number of orbit points returned"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/objects/{ref}/orbit": {
   "get": {
    "operationId": "ss_orbit_versioned",
    "summary": "Orbit elements and polyline (heliocentric ecliptic J2000, AU) (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     },
     {
      "name": "ref",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "object id (decimal string), slug (20, 2P, C_2020_F3, 2019_AB1, id-<n>) or any uniquely resolving name"
     },
     {
      "name": "n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 2,
       "maximum": 3601,
       "default": 361
      },
      "description": "number of orbit points returned"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/ss/top-names.json": {
   "get": {
    "operationId": "ss_top_names",
    "summary": "The top-5000 names list used by the website's instant search",
    "tags": [
     "ss"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/r/{serve_id}/ss/top-names.json": {
   "get": {
    "operationId": "ss_top_names_versioned",
    "summary": "The top-5000 names list used by the website's instant search (release pinned)",
    "tags": [
     "ss"
    ],
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.<name>.serve_id from /v3/release"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "403": {
      "description": "cross_origin | csrf | session_required",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/v3/stars/gaia/{release}/{source_id}": {
   "get": {
    "operationId": "stars_gaia",
    "tags": [
     "stars"
    ],
    "summary": "Gaia DR3 / DR2 source_id -> V3 star (crossmatch at epoch 2015.5)",
    "parameters": [
     {
      "name": "release",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "dr3",
        "dr2",
        "edr3"
       ]
      },
      "description": "Gaia data release (edr3 = dr3: the same source_ids and astrometry)"
     },
     {
      "name": "source_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9]{1,19}$"
      },
      "description": "Gaia source_id (decimal)"
     }
    ],
    "responses": {
     "200": {
      "description": "the V3 star(s) matched to the source, closest first",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "properties": {
          "release": {
           "type": "string"
          },
          "source_id": {
           "type": "string"
          },
          "epoch": {
           "type": "number"
          },
          "matches": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "star_id": {
              "type": "integer"
             },
             "name": {
              "type": "string"
             },
             "ra": {
              "type": "number"
             },
             "dec": {
              "type": "number"
             },
             "mag": {
              "type": [
               "number",
               "null"
              ]
             },
             "sep_mas": {
              "type": [
               "number",
               "null"
              ]
             },
             "quality": {
              "type": "string",
              "enum": [
               "unique",
               "closest_of_several",
               "shared"
              ]
             },
             "flags": {
              "type": "integer"
             },
             "gaia": {
              "type": "object"
             }
            }
           }
          },
          "serve_id": {
           "type": "string"
          }
         }
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found: no V3 star is matched to this Gaia source (body.suggestions: the other release when the id is a match there, and the cone search)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     }
    }
   }
  },
  "/v3/r/{serve_id}/stars/gaia/{release}/{source_id}": {
   "get": {
    "operationId": "stars_gaia_versioned",
    "tags": [
     "stars"
    ],
    "summary": "Gaia DR3 / DR2 source_id -> V3 star (crossmatch at epoch 2015.5) (release pinned)",
    "parameters": [
     {
      "name": "serve_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "datasets.stars.serve_id from /v3/release"
     },
     {
      "name": "release",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "dr3",
        "dr2",
        "edr3"
       ]
      },
      "description": "Gaia data release (edr3 = dr3: the same source_ids and astrometry)"
     },
     {
      "name": "source_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9]{1,19}$"
      },
      "description": "Gaia source_id (decimal)"
     }
    ],
    "responses": {
     "200": {
      "description": "the V3 star(s) matched to the source, closest first",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "properties": {
          "release": {
           "type": "string"
          },
          "source_id": {
           "type": "string"
          },
          "epoch": {
           "type": "number"
          },
          "matches": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "star_id": {
              "type": "integer"
             },
             "name": {
              "type": "string"
             },
             "ra": {
              "type": "number"
             },
             "dec": {
              "type": "number"
             },
             "mag": {
              "type": [
               "number",
               "null"
              ]
             },
             "sep_mas": {
              "type": [
               "number",
               "null"
              ]
             },
             "quality": {
              "type": "string",
              "enum": [
               "unique",
               "closest_of_several",
               "shared"
              ]
             },
             "flags": {
              "type": "integer"
             },
             "gaia": {
              "type": "object"
             }
            }
           }
          },
          "serve_id": {
           "type": "string"
          }
         }
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "404": {
      "description": "not_found: no V3 star is matched to this Gaia source (body.suggestions: the other release when the id is a match there, and the cone search)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "429": {
      "description": "rate_limited (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     }
    }
   }
  },
  "/v3/stars/gaia/{release}": {
   "post": {
    "operationId": "stars_gaia_batch",
    "tags": [
     "stars"
    ],
    "summary": "Many Gaia source_ids -> V3 stars at once (results in request order; ids as strings)",
    "parameters": [
     {
      "name": "release",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "dr3",
        "dr2",
        "edr3"
       ]
      },
      "description": "Gaia data release (edr3 = dr3: the same source_ids and astrometry)"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "ids"
        ],
        "additionalProperties": false,
        "properties": {
         "ids": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "items": {
           "type": [
            "integer",
            "string"
           ]
          },
          "description": "Gaia source_ids: JSON integers or decimal strings. Anonymous limit: 3"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "{release, n, n_found, serve_id, results: [{source_id, star_id|null, n_stars, sep_mas, quality, name, ra, dec, mag} | {source_id, star_id: null, error}]}",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "invalid_parameter (body, ids, release)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids | query_too_large (body > limits.max_body_bytes)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "503": {
      "description": "busy | dataset_unavailable (no Gaia sidecar)",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     }
    }
   }
  },
  "/v3/stars/lc": {
   "post": {
    "operationId": "stars_batch",
    "tags": [
     "bulk"
    ],
    "summary": "Batch light curves as an SP3F stream (items in request order; trailer ends the stream)",
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "ids"
        ],
        "properties": {
         "ids": {
          "type": "array",
          "maxItems": 100
         },
         "format": {
          "type": "string",
          "enum": [
           "sp3f"
          ]
         }
        },
        "additionalProperties": true,
        "description": "Selection keys as the GET /lc parameters. Anonymous limit: 3"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "SP3F stream",
      "content": {
       "application/vnd.asassn.sp3f": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/ss/lc": {
   "post": {
    "operationId": "ss_batch",
    "tags": [
     "bulk"
    ],
    "summary": "Batch light curves as an SP3F stream (items in request order; trailer ends the stream)",
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "refs"
        ],
        "properties": {
         "refs": {
          "type": "array",
          "maxItems": 100
         },
         "format": {
          "type": "string",
          "enum": [
           "sp3f"
          ]
         }
        },
        "additionalProperties": true,
        "description": "Selection keys as the GET /lc parameters. Anonymous limit: 3"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "SP3F stream",
      "content": {
       "application/vnd.asassn.sp3f": {
        "schema": {
         "type": "string",
         "format": "binary"
        }
       }
      }
     },
     "413": {
      "description": "too_many_ids"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/account": {
   "get": {
    "operationId": "account",
    "tags": [
     "account"
    ],
    "summary": "Current account, usage, token metadata and CSRF value",
    "description": "Sets an HttpOnly CSRF cookie. Return the csrf value as X-SP3-CSRF on account POSTs, using the same cookie jar. Token secrets are never returned here.",
    "responses": {
     "200": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/account/register": {
   "post": {
    "operationId": "account_register",
    "tags": [
     "account"
    ],
    "summary": "Create an account and return its one-time recovery code",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "username": {
          "type": "string",
          "minLength": 3,
          "maxLength": 32
         },
         "password": {
          "type": "string",
          "minLength": 12,
          "maxLength": 256,
          "writeOnly": true
         }
        },
        "required": [
         "username",
         "password"
        ]
       }
      }
     }
    },
    "responses": {
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     },
     "201": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    }
   }
  },
  "/v3/account/login": {
   "post": {
    "operationId": "account_login",
    "tags": [
     "account"
    ],
    "summary": "Sign in and set a seven-day HttpOnly session cookie",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "username": {
          "type": "string",
          "minLength": 3,
          "maxLength": 32
         },
         "password": {
          "type": "string",
          "minLength": 12,
          "maxLength": 256,
          "writeOnly": true
         }
        },
        "required": [
         "username",
         "password"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/account/logout": {
   "post": {
    "operationId": "account_logout",
    "tags": [
     "account"
    ],
    "summary": "Revoke the current browser session",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [
     {
      "Session": []
     }
    ],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {},
        "required": []
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/account/tokens": {
   "post": {
    "operationId": "account_tokens",
    "tags": [
     "account"
    ],
    "summary": "Create a science API token; its secret is shown once",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [
     {
      "Session": []
     }
    ],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "label": {
          "type": "string"
         },
         "days": {
          "type": "integer",
          "minimum": 1,
          "maximum": 365,
          "default": 30
         }
        },
        "required": []
       }
      }
     }
    },
    "responses": {
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     },
     "201": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    }
   }
  },
  "/v3/account/revoke": {
   "post": {
    "operationId": "account_revoke",
    "tags": [
     "account"
    ],
    "summary": "Revoke an owned token by its metadata id",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [
     {
      "Session": []
     }
    ],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "id": {
          "type": "string",
          "minLength": 64,
          "maxLength": 64
         }
        },
        "required": [
         "id"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  },
  "/v3/account/recover": {
   "post": {
    "operationId": "account_recover",
    "tags": [
     "account"
    ],
    "summary": "Reset password and recovery code, revoking all sessions and API tokens",
    "description": "Same-origin browser action. Requires the CSRF cookie and header from GET /v3/account. API tokens cannot administer accounts. JSON body limit: 4096 bytes.",
    "security": [],
    "parameters": [
     {
      "name": "X-SP3-CSRF",
      "in": "header",
      "required": true,
      "schema": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "username": {
          "type": "string",
          "minLength": 3,
          "maxLength": 32
         },
         "password": {
          "type": "string",
          "minLength": 12,
          "maxLength": 256,
          "writeOnly": true
         },
         "recovery_code": {
          "type": "string",
          "writeOnly": true
         }
        },
        "required": [
         "username",
         "password",
         "recovery_code"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Account state or action result; never cached",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "300": {
      "description": "ambiguous: several objects match (body.candidates)"
     },
     "400": {
      "description": "invalid_parameter | unknown_parameter | invalid_id | invalid_json"
     },
     "401": {
      "description": "invalid_token | login_required"
     },
     "403": {
      "description": "cross_origin | csrf | session_required"
     },
     "404": {
      "description": "not_found (body.suggestions) | release_not_served (body.served)"
     },
     "413": {
      "description": "too_many_ids | query_too_large | response_too_large"
     },
     "429": {
      "description": "rate_limited (Retry-After)"
     },
     "503": {
      "description": "busy | dataset_unavailable | draining (Retry-After)"
     }
    }
   }
  }
 },
 "components": {
  "securitySchemes": {
   "Bearer": {
    "type": "http",
    "scheme": "bearer",
    "description": "Science API token; HTTPS required"
   },
   "Session": {
    "type": "apiKey",
    "in": "cookie",
    "name": "sp3_session"
   }
  },
  "schemas": {
   "Error": {
    "type": "object",
    "required": [
     "error",
     "message",
     "request_id"
    ],
    "properties": {
     "error": {
      "type": "string"
     },
     "message": {
      "type": "string"
     },
     "request_id": {
      "type": "string"
     },
     "details": {
      "type": "object"
     },
     "candidates": {
      "type": "array"
     },
     "suggestions": {
      "type": "array"
     },
     "served": {
      "type": "object"
     }
    }
   }
  }
 }
}
