{
  "openapi": "3.1.0",
  "info": {
    "title": "Orbitwren API",
    "version": "1.0.0",
    "summary": "Orbital data center and space AI compute tracker API (data centers in space): every public project (company, partners, hardware in orbit, launch date, vehicle, status, publicly stated funding, NORAD IDs, source URLs), the next 200 orbital launches from The Space Devs Launch Library 2 with rideshare and orbital-compute flags, CelesTrak orbit elements with perigee/apogee for the compute satellites, the next compute launch with a countdown, and a daily change log, and Orbitwren Alerts (new projects, launch date changes, launches as JSON, CSV or an Atom feed). REST + MCP server.",
    "description": "Paid API keys from $5/month (Alerts: 1,500 calls a month); free tier 100 calls a day per IP with no key. Buy: https://orbitwren.cybermaxtools.com/buy/alerts?s=lead · all plans: https://orbitwren.cybermaxtools.com/docs#pricing\n\nPricing: free tier 100 calls/day per IP, no key. Paid API keys: Alerts $5/month = 1,500 calls/month; Watch $9/month = 5,000 calls/month; Analyst $19/month = 20,000 calls/month; Desk $49/month = 100,000 calls/month; Pay as you go $5 = 2,000 calls (one-time pack); Watch yearly $90/year = 5,000 calls/month; Analyst yearly $190/year = 20,000 calls/month; Desk yearly $490/year = 100,000 calls/month; Alerts yearly $49/year = 1,500 calls/month. Get a key: https://orbitwren.cybermaxtools.com/docs#pricing\n\nWho is putting AI compute in orbit, on what hardware, and when: Google's Project Suncatcher, Starcloud, SpaceX, Blue Origin, Axiom, Aetherflux and more, each row with its sources. Plus the next launches (rideshares flagged), live orbits from CelesTrak and a daily change log. For analysts, investors, journalists, space and AI builders, and AI agents. Free tier, no key; plans from $5 (one-time pack) or $5/month.\n\nFree tier: Up to 100 rows per call; 20 calls a minute per IP on the free tier. Free tier: 100 calls a day per IP, no key. Paid keys from $5 (one-time pack) or $5/month (see Get an API key). Tracker rows are verified by hand against company pages and reputable news; unknown values are null, never estimated. Launches (The Space Devs Launch Library 2) and orbits (CelesTrak) refresh daily; every response says when. Company names identify projects only; no affiliation with or endorsement by any company listed. Unknown values are null, never estimated. No key needed. Remote MCP server: https://orbitwren.cybermaxtools.com/mcp",
    "contact": {
      "name": "CyberMax",
      "url": "https://cybermax-tools-cybermax.static.hf.space/"
    },
    "license": {
      "name": "Proprietary (free tier + paid API keys)",
      "identifier": "LicenseRef-CyberMax"
    },
    "x-x402": {
      "protocol": "x402",
      "versions": [
        1,
        2
      ],
      "scheme": "exact",
      "network": [
        "base",
        "eip155:8453"
      ],
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "currency": "USDC",
      "price": {
        "perCallUsd": 0.003
      },
      "payPerCallEndpoints": [
        "/x402/api/projects",
        "/x402/api/launches",
        "/x402/api/next",
        "/x402/api/orbits",
        "/x402/api/changes",
        "/x402/api/alerts"
      ],
      "alsoOn": "the plain endpoints answer 402 with the same terms once the free daily quota is used up (no key sent)",
      "headers": {
        "request": [
          "X-PAYMENT (v1)",
          "PAYMENT-SIGNATURE (v2)"
        ],
        "response": [
          "X-PAYMENT-RESPONSE",
          "PAYMENT-RESPONSE"
        ]
      }
    },
    "x-pricing": {
      "api": "Orbitwren API",
      "currency": "USD",
      "free": {
        "price": 0,
        "callsPerDayPerIp": 100,
        "perMinutePerIp": 20,
        "key": "none needed"
      },
      "plans": [
        {
          "id": "alerts",
          "name": "Alerts",
          "price": 5,
          "billing": "per month",
          "calls": 1500,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "includes": "+ the private alert feed (new projects, launch date changes, launches; JSON, CSV, Atom)",
          "buy": "https://orbitwren.cybermaxtools.com/buy/alerts?s=openapi"
        },
        {
          "id": "watch",
          "name": "Watch",
          "price": 9,
          "billing": "per month",
          "calls": 5000,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "buy": "https://orbitwren.cybermaxtools.com/buy/watch?s=openapi"
        },
        {
          "id": "analyst",
          "name": "Analyst",
          "price": 19,
          "billing": "per month",
          "calls": 20000,
          "per": "calendar month (UTC)",
          "perMinute": 60,
          "buy": "https://orbitwren.cybermaxtools.com/buy/analyst?s=openapi"
        },
        {
          "id": "desk",
          "name": "Desk",
          "price": 49,
          "billing": "per month",
          "calls": 100000,
          "per": "calendar month (UTC)",
          "perMinute": 120,
          "buy": "https://orbitwren.cybermaxtools.com/buy/desk?s=openapi"
        },
        {
          "id": "payg",
          "name": "Pay as you go",
          "price": 5,
          "billing": "one-time",
          "calls": 2000,
          "per": "until used",
          "perMinute": 30,
          "buy": "https://orbitwren.cybermaxtools.com/buy/payg?s=openapi"
        },
        {
          "id": "watch-yearly",
          "name": "Watch yearly",
          "price": 90,
          "billing": "per year",
          "calls": 5000,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "buy": "https://orbitwren.cybermaxtools.com/buy/watch-yearly?s=openapi"
        },
        {
          "id": "analyst-yearly",
          "name": "Analyst yearly",
          "price": 190,
          "billing": "per year",
          "calls": 20000,
          "per": "calendar month (UTC)",
          "perMinute": 60,
          "buy": "https://orbitwren.cybermaxtools.com/buy/analyst-yearly?s=openapi"
        },
        {
          "id": "desk-yearly",
          "name": "Desk yearly",
          "price": 490,
          "billing": "per year",
          "calls": 100000,
          "per": "calendar month (UTC)",
          "perMinute": 120,
          "buy": "https://orbitwren.cybermaxtools.com/buy/desk-yearly?s=openapi"
        },
        {
          "id": "alerts-yearly",
          "name": "Alerts yearly",
          "price": 49,
          "billing": "per year",
          "calls": 1500,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "includes": "+ the private alert feed",
          "buy": "https://orbitwren.cybermaxtools.com/buy/alerts-yearly?s=openapi"
        }
      ],
      "unit": "calls",
      "howToUse": {
        "header": "x-api-key: YOUR_KEY",
        "alt": [
          "Authorization: Bearer YOUR_KEY",
          "?key=YOUR_KEY"
        ],
        "mcp": "send the key as Authorization: Bearer YOUR_KEY",
        "usage": "https://orbitwren.cybermaxtools.com/key"
      },
      "manageKey": "https://orbitwren.cybermaxtools.com/manage",
      "payments": "Stripe Checkout: card, Apple Pay, Google Pay, Link; sales tax/VAT handled by Stripe. Cancel any time at https://orbitwren.cybermaxtools.com/manage."
    }
  },
  "servers": [
    {
      "url": "https://orbitwren.cybermaxtools.com"
    },
    {
      "url": "https://orbitwren.cybermax-tools.workers.dev"
    }
  ],
  "paths": {
    "/api/projects": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbital compute and space data center projects, with sources",
        "description": "Every tracked project: company, partners, project, category, hardware in (or going to) orbit, launch date and vehicle, status, scale, publicly stated funding, NORAD IDs (from CelesTrak once public), summary and the sources (URL, publisher, date, the fact each supports). Tracked launches carry their live Launch Library 2 status.",
        "operationId": "orbitalComputeProjectsGet",
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company or partner name (part of it), e.g. starcloud, google",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "One of: scheduled, in orbit, deployed, flown, planned, filed, announced, development",
            "schema": {
              "type": "string",
              "enum": [
                "scheduled",
                "in orbit",
                "deployed",
                "flown",
                "planned",
                "filed",
                "announced",
                "development"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Text in the category, e.g. satellite, constellation filing, hardware platform",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Free text over company, project, hardware and summary, e.g. TPU or H100",
            "schema": {
              "type": "string"
            },
            "example": "TPU"
          },
          {
            "name": "inOrbit",
            "in": "query",
            "required": false,
            "description": "Only projects with hardware in orbit now",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-100)",
            "schema": {
              "type": "integer",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "query": {
                    "company": null,
                    "status": null,
                    "category": null,
                    "q": "TPU"
                  },
                  "count": 2,
                  "projects": [
                    {
                      "id": "google-suncatcher-tpu-prototype",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: first TPU prototype satellite",
                      "category": "prototype satellite",
                      "hardware": "4 Google Trillium-generation TPUs",
                      "launch_date": "2026-10-01",
                      "launch_date_text": "1 Oct 2026 (Transporter-18, window opens 18:18 UTC)",
                      "launch_vehicle": "SpaceX Falcon 9",
                      "launch_mission": "Transporter-18 rideshare, Vandenberg SLC-4E",
                      "ll2_launch_id": "67213393-7983-4c06-8b44-b8c785a5ed79",
                      "status": "scheduled",
                      "scale": "1 satellite",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [
                        "SUNCATCHER"
                      ],
                      "summary": "Google's first TPUs in orbit, on a prototype satellite developed with Planet, to measure how the chips handle launch stress, radiation and thermal extremes in low Earth orbit.",
                      "sources": [
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "First TPUs go to orbit on SpaceX's Transporter-18 rideshare, developed in partnership with Planet"
                        },
                        {
                          "publisher": "Gizmodo",
                          "date": "2026-09-24",
                          "url": "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                          "fact": "Four Google TPUs (Trillium) launch next week on Transporter-18"
                        },
                        {
                          "publisher": "The Space Devs Launch Library 2",
                          "date": "2026-09-30",
                          "url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/",
                          "fact": "Transporter 18: NET 2026-10-01T18:18:00Z, status Go, SLC-4E"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "launch": {
                        "name": "Falcon 9 Block 5 | Transporter 18 (Dedicated SSO Rideshare)",
                        "net": "2026-10-01T18:18:00Z",
                        "status": "Go",
                        "status_name": "Go for Launch",
                        "window_start": "2026-10-01T18:18:00Z",
                        "window_end": "2026-10-01T19:16:00Z",
                        "source_url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      },
                      "source_urls": [
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                        "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                        "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      ]
                    },
                    {
                      "id": "google-planet-suncatcher-pair",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: two prototype satellites with cross-links",
                      "category": "prototype satellites",
                      "hardware": "Google TPUs (per satellite count not stated)",
                      "launch_date": null,
                      "launch_date_text": "early 2027 (target)",
                      "launch_vehicle": null,
                      "launch_mission": null,
                      "ll2_launch_id": null,
                      "status": "planned",
                      "scale": "2 satellites flying in tandem with high-bandwidth cross-links",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [],
                      "summary": "Planet builds and operates two prototype satellites for Google to test TPUs working together over high-bandwidth inter-satellite links.",
                      "sources": [
                        {
                          "publisher": "Planet (planet.com)",
                          "date": "2025-11-04",
                          "url": "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                          "fact": "Planet will deploy two prototype satellites for Google, targeting a launch by early 2027"
                        },
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "We'll test our work on this in 2027 when we put two satellites in orbit"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "source_urls": [
                        "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/"
                      ]
                    }
                  ],
                  "data": {
                    "projects_verified_on": "2026-09-30",
                    "launches_updated": "2026-09-30T18:59:06Z",
                    "orbits_updated": "2026-09-30T18:59:48Z",
                    "source": "Orbitwren curated tracker by CyberMax: every row cites its source URLs; unknown values are null, never estimated.",
                    "note": "Company names identify projects only; no affiliation with or endorsement by any company listed. Unknown values are null, never estimated."
                  },
                  "limits": {
                    "requestsPerMinutePerIp": 20,
                    "rowsPerCall": 100,
                    "timeoutSeconds": 10
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbital compute and space data center projects, with sources",
        "description": "Every tracked project: company, partners, project, category, hardware in (or going to) orbit, launch date and vehicle, status, scale, publicly stated funding, NORAD IDs (from CelesTrak once public), summary and the sources (URL, publisher, date, the fact each supports). Tracked launches carry their live Launch Library 2 status.",
        "operationId": "orbitalComputeProjectsPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "Company or partner name (part of it), e.g. starcloud, google"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "scheduled",
                      "in orbit",
                      "deployed",
                      "flown",
                      "planned",
                      "filed",
                      "announced",
                      "development"
                    ],
                    "description": "One of: scheduled, in orbit, deployed, flown, planned, filed, announced, development"
                  },
                  "category": {
                    "type": "string",
                    "description": "Text in the category, e.g. satellite, constellation filing, hardware platform"
                  },
                  "q": {
                    "type": "string",
                    "description": "Free text over company, project, hardware and summary, e.g. TPU or H100"
                  },
                  "inOrbit": {
                    "type": "boolean",
                    "default": false,
                    "description": "Only projects with hardware in orbit now"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 50,
                    "description": "Rows (1-100)"
                  }
                }
              },
              "example": {
                "company": "starcloud"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "query": {
                    "company": null,
                    "status": null,
                    "category": null,
                    "q": "TPU"
                  },
                  "count": 2,
                  "projects": [
                    {
                      "id": "google-suncatcher-tpu-prototype",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: first TPU prototype satellite",
                      "category": "prototype satellite",
                      "hardware": "4 Google Trillium-generation TPUs",
                      "launch_date": "2026-10-01",
                      "launch_date_text": "1 Oct 2026 (Transporter-18, window opens 18:18 UTC)",
                      "launch_vehicle": "SpaceX Falcon 9",
                      "launch_mission": "Transporter-18 rideshare, Vandenberg SLC-4E",
                      "ll2_launch_id": "67213393-7983-4c06-8b44-b8c785a5ed79",
                      "status": "scheduled",
                      "scale": "1 satellite",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [
                        "SUNCATCHER"
                      ],
                      "summary": "Google's first TPUs in orbit, on a prototype satellite developed with Planet, to measure how the chips handle launch stress, radiation and thermal extremes in low Earth orbit.",
                      "sources": [
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "First TPUs go to orbit on SpaceX's Transporter-18 rideshare, developed in partnership with Planet"
                        },
                        {
                          "publisher": "Gizmodo",
                          "date": "2026-09-24",
                          "url": "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                          "fact": "Four Google TPUs (Trillium) launch next week on Transporter-18"
                        },
                        {
                          "publisher": "The Space Devs Launch Library 2",
                          "date": "2026-09-30",
                          "url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/",
                          "fact": "Transporter 18: NET 2026-10-01T18:18:00Z, status Go, SLC-4E"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "launch": {
                        "name": "Falcon 9 Block 5 | Transporter 18 (Dedicated SSO Rideshare)",
                        "net": "2026-10-01T18:18:00Z",
                        "status": "Go",
                        "status_name": "Go for Launch",
                        "window_start": "2026-10-01T18:18:00Z",
                        "window_end": "2026-10-01T19:16:00Z",
                        "source_url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      },
                      "source_urls": [
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                        "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                        "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      ]
                    },
                    {
                      "id": "google-planet-suncatcher-pair",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: two prototype satellites with cross-links",
                      "category": "prototype satellites",
                      "hardware": "Google TPUs (per satellite count not stated)",
                      "launch_date": null,
                      "launch_date_text": "early 2027 (target)",
                      "launch_vehicle": null,
                      "launch_mission": null,
                      "ll2_launch_id": null,
                      "status": "planned",
                      "scale": "2 satellites flying in tandem with high-bandwidth cross-links",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [],
                      "summary": "Planet builds and operates two prototype satellites for Google to test TPUs working together over high-bandwidth inter-satellite links.",
                      "sources": [
                        {
                          "publisher": "Planet (planet.com)",
                          "date": "2025-11-04",
                          "url": "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                          "fact": "Planet will deploy two prototype satellites for Google, targeting a launch by early 2027"
                        },
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "We'll test our work on this in 2027 when we put two satellites in orbit"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "source_urls": [
                        "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/"
                      ]
                    }
                  ],
                  "data": {
                    "projects_verified_on": "2026-09-30",
                    "launches_updated": "2026-09-30T18:59:06Z",
                    "orbits_updated": "2026-09-30T18:59:48Z",
                    "source": "Orbitwren curated tracker by CyberMax: every row cites its source URLs; unknown values are null, never estimated.",
                    "note": "Company names identify projects only; no affiliation with or endorsement by any company listed. Unknown values are null, never estimated."
                  },
                  "limits": {
                    "requestsPerMinutePerIp": 20,
                    "rowsPerCall": 100,
                    "timeoutSeconds": 10
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/launches": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Upcoming orbital launches, rideshare and compute launches flagged",
        "description": "The next launches from The Space Devs Launch Library 2 (refreshed daily): name, NET and window, status, provider, rocket, mission, orbit, pad and country, plus rideshare, orbital_compute and tracked_projects flags. Filter by days ahead, rideshare, compute, provider, country or text.",
        "operationId": "upcomingLaunchesGet",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Look ahead N days (1-730)",
            "schema": {
              "type": "integer",
              "default": 90
            },
            "example": "90"
          },
          {
            "name": "rideshare",
            "in": "query",
            "required": false,
            "description": "true = only rideshare missions (Transporter, Bandwagon ...), false = exclude them",
            "schema": {
              "type": "boolean"
            },
            "example": "true"
          },
          {
            "name": "compute",
            "in": "query",
            "required": false,
            "description": "Only launches carrying a tracked orbital-compute project or mentioning data centres/TPUs/GPUs",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "description": "Launch provider (part of the name), e.g. SpaceX, Rocket Lab",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Pad country, ISO 3166 alpha-3, e.g. USA, CHN, NZL",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Free text over launch name, mission and rocket",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-100)",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Upcoming orbital launches, rideshare and compute launches flagged",
        "description": "The next launches from The Space Devs Launch Library 2 (refreshed daily): name, NET and window, status, provider, rocket, mission, orbit, pad and country, plus rideshare, orbital_compute and tracked_projects flags. Filter by days ahead, rideshare, compute, provider, country or text.",
        "operationId": "upcomingLaunchesPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "days": {
                    "type": "integer",
                    "default": 90,
                    "description": "Look ahead N days (1-730)"
                  },
                  "rideshare": {
                    "type": "boolean",
                    "description": "true = only rideshare missions (Transporter, Bandwagon ...), false = exclude them"
                  },
                  "compute": {
                    "type": "boolean",
                    "default": false,
                    "description": "Only launches carrying a tracked orbital-compute project or mentioning data centres/TPUs/GPUs"
                  },
                  "provider": {
                    "type": "string",
                    "description": "Launch provider (part of the name), e.g. SpaceX, Rocket Lab"
                  },
                  "country": {
                    "type": "string",
                    "description": "Pad country, ISO 3166 alpha-3, e.g. USA, CHN, NZL"
                  },
                  "q": {
                    "type": "string",
                    "description": "Free text over launch name, mission and rocket"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 25,
                    "description": "Rows (1-100)"
                  }
                }
              },
              "example": {
                "rideshare": true,
                "days": 180
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/next": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "The next orbital-compute launch, with a countdown and what is on board",
        "description": "The next launch carrying a tracked orbital-compute project (or described as one): NET, window, status, provider, pad, seconds to NET and the tracker rows on board.",
        "operationId": "nextComputeLaunchGet",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "The next orbital-compute launch, with a countdown and what is on board",
        "description": "The next launch carrying a tracked orbital-compute project (or described as one): NET, window, status, provider, pad, seconds to NET and the tracker rows on board.",
        "operationId": "nextComputeLaunchPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/orbits": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbit elements for orbital-compute satellites (CelesTrak)",
        "description": "CelesTrak GP elements for each tracked satellite with a public NORAD ID: epoch, inclination, eccentricity, mean motion, RAAN, argument of perigee, mean anomaly, B*, plus derived perigee and apogee (km) and period (minutes). Refreshed daily.",
        "operationId": "computeSatelliteOrbitsGet",
        "parameters": [
          {
            "name": "norad",
            "in": "query",
            "required": false,
            "description": "NORAD catalog number(s), comma separated (empty = every tracked compute satellite)",
            "schema": {
              "type": "string"
            },
            "example": "66303"
          },
          {
            "name": "project",
            "in": "query",
            "required": false,
            "description": "Tracker project id (part of it), e.g. starcloud",
            "schema": {
              "type": "string"
            },
            "example": ""
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbit elements for orbital-compute satellites (CelesTrak)",
        "description": "CelesTrak GP elements for each tracked satellite with a public NORAD ID: epoch, inclination, eccentricity, mean motion, RAAN, argument of perigee, mean anomaly, B*, plus derived perigee and apogee (km) and period (minutes). Refreshed daily.",
        "operationId": "computeSatelliteOrbitsPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "norad": {
                    "type": "string",
                    "description": "NORAD catalog number(s), comma separated (empty = every tracked compute satellite)"
                  },
                  "project": {
                    "type": "string",
                    "description": "Tracker project id (part of it), e.g. starcloud"
                  }
                }
              },
              "example": {
                "norad": "66303"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/changes": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Day-to-day change log: status, launch dates, NORAD IDs",
        "description": "What changed since the previous daily build: project status, launch date, NORAD IDs appearing, and the NET/status of tracked launches. Newest first.",
        "operationId": "trackerChangesGet",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "description": "Only changes on or after this date (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-200)",
            "schema": {
              "type": "integer",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Day-to-day change log: status, launch dates, NORAD IDs",
        "description": "What changed since the previous daily build: project status, launch date, NORAD IDs appearing, and the NET/status of tracked launches. Newest first.",
        "operationId": "trackerChangesPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "since": {
                    "type": "string",
                    "format": "date",
                    "description": "Only changes on or after this date (YYYY-MM-DD)"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 50,
                    "description": "Rows (1-200)"
                  }
                }
              },
              "example": {
                "since": "2026-10-01"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/alerts": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbitwren Alerts: new orbital data center projects, launch date changes and launches (paid key)",
        "description": "Classified alert events from the orbital compute / space data center tracker: new_project, launch (a tracked launch succeeded or failed, or hardware reached orbit), date_change (launch date or NET moved), status_change, update. Each alert has the project ids, companies and source URLs. format=json, csv or atom (a private feed URL for feed readers, Slack/Teams RSS apps and Zapier: add ?key=YOUR_KEY). Needs any paid key; the Alerts plan is $5/month or $49/year. Free: the weekly digest page.",
        "operationId": "orbitalComputeAlertsGet",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "description": "Only alerts on or after this date (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Alert types, comma separated: new_project, launch, date_change, status_change, update",
            "schema": {
              "type": "string"
            },
            "example": "new_project,launch,date_change"
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company name (part of it)",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "json (default), csv or atom (feed readers, Slack/Teams RSS apps, Zapier)",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv",
                "atom"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-500)",
            "schema": {
              "type": "integer",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbitwren Alerts: new orbital data center projects, launch date changes and launches (paid key)",
        "description": "Classified alert events from the orbital compute / space data center tracker: new_project, launch (a tracked launch succeeded or failed, or hardware reached orbit), date_change (launch date or NET moved), status_change, update. Each alert has the project ids, companies and source URLs. format=json, csv or atom (a private feed URL for feed readers, Slack/Teams RSS apps and Zapier: add ?key=YOUR_KEY). Needs any paid key; the Alerts plan is $5/month or $49/year. Free: the weekly digest page.",
        "operationId": "orbitalComputeAlertsPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "since": {
                    "type": "string",
                    "format": "date",
                    "description": "Only alerts on or after this date (YYYY-MM-DD)"
                  },
                  "type": {
                    "type": "string",
                    "description": "Alert types, comma separated: new_project, launch, date_change, status_change, update"
                  },
                  "company": {
                    "type": "string",
                    "description": "Company name (part of it)"
                  },
                  "format": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "atom"
                    ],
                    "description": "json (default), csv or atom (feed readers, Slack/Teams RSS apps, Zapier)"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 100,
                    "description": "Rows (1-500)"
                  }
                }
              },
              "example": {
                "type": "new_project,launch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/status": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Data freshness and counts (free, not metered)",
        "description": "When the tracker was verified and when launches and orbits were last refreshed, with counts and source attribution.",
        "operationId": "dataStatusGet",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Data freshness and counts (free, not metered)",
        "description": "When the tracker was verified and when launches and orbits were last refreshed, with counts and source attribution.",
        "operationId": "dataStatusPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (100/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/x402/api/projects": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbital compute and space data center projects, with sources (pay per call in USDC via x402, no key)",
        "description": "Every tracked project: company, partners, project, category, hardware in (or going to) orbit, launch date and vehicle, status, scale, publicly stated funding, NORAD IDs (from CelesTrak once public), summary and the sources (URL, publisher, date, the fact each supports). Tracked launches carry their live Launch Library 2 status.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "orbitalComputeProjectsGetPayPerCall",
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company or partner name (part of it), e.g. starcloud, google",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "One of: scheduled, in orbit, deployed, flown, planned, filed, announced, development",
            "schema": {
              "type": "string",
              "enum": [
                "scheduled",
                "in orbit",
                "deployed",
                "flown",
                "planned",
                "filed",
                "announced",
                "development"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Text in the category, e.g. satellite, constellation filing, hardware platform",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Free text over company, project, hardware and summary, e.g. TPU or H100",
            "schema": {
              "type": "string"
            },
            "example": "TPU"
          },
          {
            "name": "inOrbit",
            "in": "query",
            "required": false,
            "description": "Only projects with hardware in orbit now",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-100)",
            "schema": {
              "type": "integer",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "query": {
                    "company": null,
                    "status": null,
                    "category": null,
                    "q": "TPU"
                  },
                  "count": 2,
                  "projects": [
                    {
                      "id": "google-suncatcher-tpu-prototype",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: first TPU prototype satellite",
                      "category": "prototype satellite",
                      "hardware": "4 Google Trillium-generation TPUs",
                      "launch_date": "2026-10-01",
                      "launch_date_text": "1 Oct 2026 (Transporter-18, window opens 18:18 UTC)",
                      "launch_vehicle": "SpaceX Falcon 9",
                      "launch_mission": "Transporter-18 rideshare, Vandenberg SLC-4E",
                      "ll2_launch_id": "67213393-7983-4c06-8b44-b8c785a5ed79",
                      "status": "scheduled",
                      "scale": "1 satellite",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [
                        "SUNCATCHER"
                      ],
                      "summary": "Google's first TPUs in orbit, on a prototype satellite developed with Planet, to measure how the chips handle launch stress, radiation and thermal extremes in low Earth orbit.",
                      "sources": [
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "First TPUs go to orbit on SpaceX's Transporter-18 rideshare, developed in partnership with Planet"
                        },
                        {
                          "publisher": "Gizmodo",
                          "date": "2026-09-24",
                          "url": "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                          "fact": "Four Google TPUs (Trillium) launch next week on Transporter-18"
                        },
                        {
                          "publisher": "The Space Devs Launch Library 2",
                          "date": "2026-09-30",
                          "url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/",
                          "fact": "Transporter 18: NET 2026-10-01T18:18:00Z, status Go, SLC-4E"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "launch": {
                        "name": "Falcon 9 Block 5 | Transporter 18 (Dedicated SSO Rideshare)",
                        "net": "2026-10-01T18:18:00Z",
                        "status": "Go",
                        "status_name": "Go for Launch",
                        "window_start": "2026-10-01T18:18:00Z",
                        "window_end": "2026-10-01T19:16:00Z",
                        "source_url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      },
                      "source_urls": [
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                        "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                        "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      ]
                    },
                    {
                      "id": "google-planet-suncatcher-pair",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: two prototype satellites with cross-links",
                      "category": "prototype satellites",
                      "hardware": "Google TPUs (per satellite count not stated)",
                      "launch_date": null,
                      "launch_date_text": "early 2027 (target)",
                      "launch_vehicle": null,
                      "launch_mission": null,
                      "ll2_launch_id": null,
                      "status": "planned",
                      "scale": "2 satellites flying in tandem with high-bandwidth cross-links",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [],
                      "summary": "Planet builds and operates two prototype satellites for Google to test TPUs working together over high-bandwidth inter-satellite links.",
                      "sources": [
                        {
                          "publisher": "Planet (planet.com)",
                          "date": "2025-11-04",
                          "url": "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                          "fact": "Planet will deploy two prototype satellites for Google, targeting a launch by early 2027"
                        },
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "We'll test our work on this in 2027 when we put two satellites in orbit"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "source_urls": [
                        "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/"
                      ]
                    }
                  ],
                  "data": {
                    "projects_verified_on": "2026-09-30",
                    "launches_updated": "2026-09-30T18:59:06Z",
                    "orbits_updated": "2026-09-30T18:59:48Z",
                    "source": "Orbitwren curated tracker by CyberMax: every row cites its source URLs; unknown values are null, never estimated.",
                    "note": "Company names identify projects only; no affiliation with or endorsement by any company listed. Unknown values are null, never estimated."
                  },
                  "limits": {
                    "requestsPerMinutePerIp": 20,
                    "rowsPerCall": 100,
                    "timeoutSeconds": 10
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbital compute and space data center projects, with sources (pay per call in USDC via x402, no key)",
        "description": "Every tracked project: company, partners, project, category, hardware in (or going to) orbit, launch date and vehicle, status, scale, publicly stated funding, NORAD IDs (from CelesTrak once public), summary and the sources (URL, publisher, date, the fact each supports). Tracked launches carry their live Launch Library 2 status.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "orbitalComputeProjectsPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "Company or partner name (part of it), e.g. starcloud, google"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "scheduled",
                      "in orbit",
                      "deployed",
                      "flown",
                      "planned",
                      "filed",
                      "announced",
                      "development"
                    ],
                    "description": "One of: scheduled, in orbit, deployed, flown, planned, filed, announced, development"
                  },
                  "category": {
                    "type": "string",
                    "description": "Text in the category, e.g. satellite, constellation filing, hardware platform"
                  },
                  "q": {
                    "type": "string",
                    "description": "Free text over company, project, hardware and summary, e.g. TPU or H100"
                  },
                  "inOrbit": {
                    "type": "boolean",
                    "default": false,
                    "description": "Only projects with hardware in orbit now"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 50,
                    "description": "Rows (1-100)"
                  }
                }
              },
              "example": {
                "company": "starcloud"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "query": {
                    "company": null,
                    "status": null,
                    "category": null,
                    "q": "TPU"
                  },
                  "count": 2,
                  "projects": [
                    {
                      "id": "google-suncatcher-tpu-prototype",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: first TPU prototype satellite",
                      "category": "prototype satellite",
                      "hardware": "4 Google Trillium-generation TPUs",
                      "launch_date": "2026-10-01",
                      "launch_date_text": "1 Oct 2026 (Transporter-18, window opens 18:18 UTC)",
                      "launch_vehicle": "SpaceX Falcon 9",
                      "launch_mission": "Transporter-18 rideshare, Vandenberg SLC-4E",
                      "ll2_launch_id": "67213393-7983-4c06-8b44-b8c785a5ed79",
                      "status": "scheduled",
                      "scale": "1 satellite",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [
                        "SUNCATCHER"
                      ],
                      "summary": "Google's first TPUs in orbit, on a prototype satellite developed with Planet, to measure how the chips handle launch stress, radiation and thermal extremes in low Earth orbit.",
                      "sources": [
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "First TPUs go to orbit on SpaceX's Transporter-18 rideshare, developed in partnership with Planet"
                        },
                        {
                          "publisher": "Gizmodo",
                          "date": "2026-09-24",
                          "url": "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                          "fact": "Four Google TPUs (Trillium) launch next week on Transporter-18"
                        },
                        {
                          "publisher": "The Space Devs Launch Library 2",
                          "date": "2026-09-30",
                          "url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/",
                          "fact": "Transporter 18: NET 2026-10-01T18:18:00Z, status Go, SLC-4E"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "launch": {
                        "name": "Falcon 9 Block 5 | Transporter 18 (Dedicated SSO Rideshare)",
                        "net": "2026-10-01T18:18:00Z",
                        "status": "Go",
                        "status_name": "Go for Launch",
                        "window_start": "2026-10-01T18:18:00Z",
                        "window_end": "2026-10-01T19:16:00Z",
                        "source_url": "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      },
                      "source_urls": [
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                        "https://gizmodo.com/googles-project-suncatcher-is-sending-ai-chips-into-space-next-week-2000816985",
                        "https://ll.thespacedevs.com/2.3.0/launches/67213393-7983-4c06-8b44-b8c785a5ed79/"
                      ]
                    },
                    {
                      "id": "google-planet-suncatcher-pair",
                      "company": "Google",
                      "partners": [
                        "Planet"
                      ],
                      "project": "Project Suncatcher: two prototype satellites with cross-links",
                      "category": "prototype satellites",
                      "hardware": "Google TPUs (per satellite count not stated)",
                      "launch_date": null,
                      "launch_date_text": "early 2027 (target)",
                      "launch_vehicle": null,
                      "launch_mission": null,
                      "ll2_launch_id": null,
                      "status": "planned",
                      "scale": "2 satellites flying in tandem with high-bandwidth cross-links",
                      "funding_public": null,
                      "norad_ids": [],
                      "celestrak_names": [],
                      "summary": "Planet builds and operates two prototype satellites for Google to test TPUs working together over high-bandwidth inter-satellite links.",
                      "sources": [
                        {
                          "publisher": "Planet (planet.com)",
                          "date": "2025-11-04",
                          "url": "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                          "fact": "Planet will deploy two prototype satellites for Google, targeting a launch by early 2027"
                        },
                        {
                          "publisher": "Google (blog.google)",
                          "date": "2026-09-24",
                          "url": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/",
                          "fact": "We'll test our work on this in 2027 when we put two satellites in orbit"
                        }
                      ],
                      "verified_on": "2026-09-30",
                      "auto_norad_ids": [],
                      "source_urls": [
                        "https://www.planet.com/pulse/planet-to-build-and-operate-advanced-space-platform-for-project-suncatcher-moonshot/",
                        "https://blog.google/innovation-and-ai/models-and-research/google-research/google-project-suncatcher-facts/"
                      ]
                    }
                  ],
                  "data": {
                    "projects_verified_on": "2026-09-30",
                    "launches_updated": "2026-09-30T18:59:06Z",
                    "orbits_updated": "2026-09-30T18:59:48Z",
                    "source": "Orbitwren curated tracker by CyberMax: every row cites its source URLs; unknown values are null, never estimated.",
                    "note": "Company names identify projects only; no affiliation with or endorsement by any company listed. Unknown values are null, never estimated."
                  },
                  "limits": {
                    "requestsPerMinutePerIp": 20,
                    "rowsPerCall": 100,
                    "timeoutSeconds": 10
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    },
    "/x402/api/launches": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Upcoming orbital launches, rideshare and compute launches flagged (pay per call in USDC via x402, no key)",
        "description": "The next launches from The Space Devs Launch Library 2 (refreshed daily): name, NET and window, status, provider, rocket, mission, orbit, pad and country, plus rideshare, orbital_compute and tracked_projects flags. Filter by days ahead, rideshare, compute, provider, country or text.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "upcomingLaunchesGetPayPerCall",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Look ahead N days (1-730)",
            "schema": {
              "type": "integer",
              "default": 90
            },
            "example": "90"
          },
          {
            "name": "rideshare",
            "in": "query",
            "required": false,
            "description": "true = only rideshare missions (Transporter, Bandwagon ...), false = exclude them",
            "schema": {
              "type": "boolean"
            },
            "example": "true"
          },
          {
            "name": "compute",
            "in": "query",
            "required": false,
            "description": "Only launches carrying a tracked orbital-compute project or mentioning data centres/TPUs/GPUs",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "description": "Launch provider (part of the name), e.g. SpaceX, Rocket Lab",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Pad country, ISO 3166 alpha-3, e.g. USA, CHN, NZL",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Free text over launch name, mission and rocket",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-100)",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Upcoming orbital launches, rideshare and compute launches flagged (pay per call in USDC via x402, no key)",
        "description": "The next launches from The Space Devs Launch Library 2 (refreshed daily): name, NET and window, status, provider, rocket, mission, orbit, pad and country, plus rideshare, orbital_compute and tracked_projects flags. Filter by days ahead, rideshare, compute, provider, country or text.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "upcomingLaunchesPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "days": {
                    "type": "integer",
                    "default": 90,
                    "description": "Look ahead N days (1-730)"
                  },
                  "rideshare": {
                    "type": "boolean",
                    "description": "true = only rideshare missions (Transporter, Bandwagon ...), false = exclude them"
                  },
                  "compute": {
                    "type": "boolean",
                    "default": false,
                    "description": "Only launches carrying a tracked orbital-compute project or mentioning data centres/TPUs/GPUs"
                  },
                  "provider": {
                    "type": "string",
                    "description": "Launch provider (part of the name), e.g. SpaceX, Rocket Lab"
                  },
                  "country": {
                    "type": "string",
                    "description": "Pad country, ISO 3166 alpha-3, e.g. USA, CHN, NZL"
                  },
                  "q": {
                    "type": "string",
                    "description": "Free text over launch name, mission and rocket"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 25,
                    "description": "Rows (1-100)"
                  }
                }
              },
              "example": {
                "rideshare": true,
                "days": 180
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    },
    "/x402/api/next": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "The next orbital-compute launch, with a countdown and what is on board (pay per call in USDC via x402, no key)",
        "description": "The next launch carrying a tracked orbital-compute project (or described as one): NET, window, status, provider, pad, seconds to NET and the tracker rows on board.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "nextComputeLaunchGetPayPerCall",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "The next orbital-compute launch, with a countdown and what is on board (pay per call in USDC via x402, no key)",
        "description": "The next launch carrying a tracked orbital-compute project (or described as one): NET, window, status, provider, pad, seconds to NET and the tracker rows on board.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "nextComputeLaunchPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    },
    "/x402/api/orbits": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbit elements for orbital-compute satellites (CelesTrak) (pay per call in USDC via x402, no key)",
        "description": "CelesTrak GP elements for each tracked satellite with a public NORAD ID: epoch, inclination, eccentricity, mean motion, RAAN, argument of perigee, mean anomaly, B*, plus derived perigee and apogee (km) and period (minutes). Refreshed daily.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "computeSatelliteOrbitsGetPayPerCall",
        "parameters": [
          {
            "name": "norad",
            "in": "query",
            "required": false,
            "description": "NORAD catalog number(s), comma separated (empty = every tracked compute satellite)",
            "schema": {
              "type": "string"
            },
            "example": "66303"
          },
          {
            "name": "project",
            "in": "query",
            "required": false,
            "description": "Tracker project id (part of it), e.g. starcloud",
            "schema": {
              "type": "string"
            },
            "example": ""
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbit elements for orbital-compute satellites (CelesTrak) (pay per call in USDC via x402, no key)",
        "description": "CelesTrak GP elements for each tracked satellite with a public NORAD ID: epoch, inclination, eccentricity, mean motion, RAAN, argument of perigee, mean anomaly, B*, plus derived perigee and apogee (km) and period (minutes). Refreshed daily.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "computeSatelliteOrbitsPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "norad": {
                    "type": "string",
                    "description": "NORAD catalog number(s), comma separated (empty = every tracked compute satellite)"
                  },
                  "project": {
                    "type": "string",
                    "description": "Tracker project id (part of it), e.g. starcloud"
                  }
                }
              },
              "example": {
                "norad": "66303"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    },
    "/x402/api/changes": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Day-to-day change log: status, launch dates, NORAD IDs (pay per call in USDC via x402, no key)",
        "description": "What changed since the previous daily build: project status, launch date, NORAD IDs appearing, and the NET/status of tracked launches. Newest first.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "trackerChangesGetPayPerCall",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "description": "Only changes on or after this date (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-200)",
            "schema": {
              "type": "integer",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Day-to-day change log: status, launch dates, NORAD IDs (pay per call in USDC via x402, no key)",
        "description": "What changed since the previous daily build: project status, launch date, NORAD IDs appearing, and the NET/status of tracked launches. Newest first.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "trackerChangesPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "since": {
                    "type": "string",
                    "format": "date",
                    "description": "Only changes on or after this date (YYYY-MM-DD)"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 50,
                    "description": "Rows (1-200)"
                  }
                }
              },
              "example": {
                "since": "2026-10-01"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    },
    "/x402/api/alerts": {
      "get": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbitwren Alerts: new orbital data center projects, launch date changes and launches (paid key) (pay per call in USDC via x402, no key)",
        "description": "Classified alert events from the orbital compute / space data center tracker: new_project, launch (a tracked launch succeeded or failed, or hardware reached orbit), date_change (launch date or NET moved), status_change, update. Each alert has the project ids, companies and source URLs. format=json, csv or atom (a private feed URL for feed readers, Slack/Teams RSS apps and Zapier: add ?key=YOUR_KEY). Needs any paid key; the Alerts plan is $5/month or $49/year. Free: the weekly digest page.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "orbitalComputeAlertsGetPayPerCall",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "description": "Only alerts on or after this date (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Alert types, comma separated: new_project, launch, date_change, status_change, update",
            "schema": {
              "type": "string"
            },
            "example": "new_project,launch,date_change"
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company name (part of it)",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "json (default), csv or atom (feed readers, Slack/Teams RSS apps, Zapier)",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv",
                "atom"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows (1-500)",
            "schema": {
              "type": "integer",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Orbitwren"
        ],
        "summary": "Orbitwren Alerts: new orbital data center projects, launch date changes and launches (paid key) (pay per call in USDC via x402, no key)",
        "description": "Classified alert events from the orbital compute / space data center tracker: new_project, launch (a tracked launch succeeded or failed, or hardware reached orbit), date_change (launch date or NET moved), status_change, update. Each alert has the project ids, companies and source URLs. format=json, csv or atom (a private feed URL for feed readers, Slack/Teams RSS apps and Zapier: add ?key=YOUR_KEY). Needs any paid key; the Alerts plan is $5/month or $49/year. Free: the weekly digest page.\n\nPay per call with x402: $0.003 per call in USDC on Base. No key, no account: an unpaid call returns 402 with the payment requirements; retry with the X-PAYMENT (x402 v1) or PAYMENT-SIGNATURE (v2) header.",
        "operationId": "orbitalComputeAlertsPostPayPerCall",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "since": {
                    "type": "string",
                    "format": "date",
                    "description": "Only alerts on or after this date (YYYY-MM-DD)"
                  },
                  "type": {
                    "type": "string",
                    "description": "Alert types, comma separated: new_project, launch, date_change, status_change, update"
                  },
                  "company": {
                    "type": "string",
                    "description": "Company name (part of it)"
                  },
                  "format": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "atom"
                    ],
                    "description": "json (default), csv or atom (feed readers, Slack/Teams RSS apps, Zapier)"
                  },
                  "limit": {
                    "type": "integer",
                    "default": 100,
                    "description": "Rows (1-500)"
                  }
                }
              },
              "example": {
                "type": "new_project,launch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required: x402 payment requirements (body: x402Version 1 accepts[]; header PAYMENT-REQUIRED: x402 v2)."
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {
                "version": [
                  1,
                  2
                ],
                "network": [
                  "base",
                  "eip155:8453"
                ],
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "scheme": "exact"
              }
            }
          ]
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "retryAfterSeconds": {
            "type": "integer"
          },
          "limits": {
            "type": "object"
          }
        },
        "required": [
          "error",
          "message"
        ]
      }
    },
    "securitySchemes": {
      "ApiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Optional. Paid plan key from https://orbitwren.cybermaxtools.com/docs#pricing; leave out for the free tier."
      },
      "BearerKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Same key as a Bearer token."
      }
    }
  },
  "x-mcp-server": "https://orbitwren.cybermaxtools.com/mcp",
  "externalDocs": {
    "description": "Get an API key (pricing)",
    "url": "https://orbitwren.cybermaxtools.com/docs#pricing"
  },
  "security": [
    {},
    {
      "ApiKeyHeader": []
    },
    {
      "BearerKey": []
    }
  ]
}