{
  "manifest_version": "1.0.0",
  "template": {
    "id": "6a6a3862-788a-46ce-b220-056e450b2517",
    "slug": "apollo-router",
    "name": "Apollo Runtime",
    "description": "Deploy-ready Apollo Runtime for Apollo GraphOS federation projects.",
    "url": "https://railway.com/deploy/apollo-router",
    "upstream": {
      "repo_url": "https://github.com/apollographql/router-template"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "Apollo Runtime (Router)",
      "source": {
        "repo": "https://github.com/apollographql/router-template"
      },
      "needs_volume": false,
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "PORT",
      "service": "Apollo Runtime (Router)",
      "description": "PORT used by health check. to configure where the router serves the graphql endpoint use ROUTER_PORT ",
      "secret": false,
      "strategy": "default",
      "default": "8088"
    },
    {
      "key": "APOLLO_KEY",
      "service": "Apollo Runtime (Router)",
      "description": "Your Apollo GraphOS API key used to authenticate the Apollo Router with your GraphOS account. Required for schema delivery, usage reporting, and other cloud features. You can generate it from the Apollo GraphOS dashboard",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "MCP_ENABLE",
      "service": "Apollo Runtime (Router)",
      "description": "Enable MCP Server - Defaults to false",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "APOLLO_GRAPH_REF",
      "service": "Apollo Runtime (Router)",
      "description": "he reference to your graph in Apollo GraphOS, typically in the format graph-id@variant (e.g., my-graph@current). This tells the Apollo Router which schema to fetch and use at runtime.",
      "secret": false,
      "strategy": "ask_user"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "apollo-router"
      }
    },
    "cli": "railway deploy --template apollo-router",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "6a6a3862-788a-46ce-b220-056e450b2517",
            "serializedConfig": {
              "services": {
                "e08c3eee-a050-43d6-8ff4-03a4704c80be": {
                  "icon": "https://pbs.twimg.com/profile_images/1710358163017396224/6CQOSGKu_400x400.jpg",
                  "name": "Apollo Runtime (Router)",
                  "deploy": {
                    "healthcheckPath": "/health"
                  },
                  "source": {
                    "repo": "apollographql/router-template",
                    "branch": null,
                    "rootDirectory": null
                  },
                  "variables": {
                    "PORT": {
                      "description": "PORT used by health check. to configure where the router serves the graphql endpoint use ROUTER_PORT ",
                      "defaultValue": "8088"
                    },
                    "APOLLO_KEY": {
                      "description": "Your Apollo GraphOS API key used to authenticate the Apollo Router with your GraphOS account. Required for schema delivery, usage reporting, and other cloud features. You can generate it from the Apollo GraphOS dashboard",
                      "defaultValue": "{{APOLLO_KEY}}"
                    },
                    "MCP_ENABLE": {
                      "description": "Enable MCP Server - Defaults to false",
                      "defaultValue": "0"
                    },
                    "APOLLO_GRAPH_REF": {
                      "description": "he reference to your graph in Apollo GraphOS, typically in the format graph-id@variant (e.g., my-graph@current). This tells the Apollo Router which schema to fetch and use at runtime.",
                      "defaultValue": "{{APOLLO_GRAPH_REF}}"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:4000": {
                        "port": 4000
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "Apollo Runtime (Router)",
      "method": "GET",
      "path": "/health",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 1,
    "needs_volume": false
  },
  "generated_at": "2026-09-22T04:14:41.730Z",
  "generator_version": "0.1.0"
}
