diff --git a/docs/source/api/apollo-server.mdx b/docs/source/api/apollo-server.mdx
index 80ee4848edf..7c7ab6520f7 100644
--- a/docs/source/api/apollo-server.mdx
+++ b/docs/source/api/apollo-server.mdx
@@ -117,7 +117,7 @@ This field is helpful if:
-You can use this field to integrate your server with [Apollo Gateway](/federation/api/apollo-gateway/).
+You can use this field to integrate your server with [Apollo Gateway](../using-federation/api/apollo-gateway/).
|
diff --git a/docs/source/api/plugin/landing-pages.mdx b/docs/source/api/plugin/landing-pages.mdx
index acb94234582..2b587160464 100644
--- a/docs/source/api/plugin/landing-pages.mdx
+++ b/docs/source/api/plugin/landing-pages.mdx
@@ -61,7 +61,7 @@ In non-production environments, Apollo Server 4's landing page is an embedded ve
This landing page is designed for use in local development, where `NODE_ENV` is *not* set to `production`.
-[Apollo Sandbox](https://studio.apollographql.com/sandbox) is a special mode of Apollo Studio used for local development, which doesn't require an Apollo account. Sandbox includes the [Apollo Studio Explorer](/graphos/explorer/explorer), a powerful web IDE that enables you to build and run operations against your server (or any other reachable server).
+[Apollo Sandbox](https://studio.apollographql.com/sandbox) is a special mode of Apollo Studio used for local development, which doesn't require an Apollo account. Sandbox includes the [Apollo Studio Explorer](/graphos/explorer/), a powerful web IDE that enables you to build and run operations against your server (or any other reachable server).
### Options
@@ -323,7 +323,7 @@ The `ApolloServerPluginLandingPageProductionDefault` shows a minimalist landing
-This landing page is designed for use in production. It provides a copyable command-line snippet showing how to run operations with your server. By default, the only visible reference to Apollo is a footer explaining how to customize the page. You can also configure it to add a link to query your graph with the [Apollo Explorer](/graphos/explorer/explorer/). You can choose to embed the Apollo Explorer on your endpoint if you pass the `embed` [option](#embed-options).
+This landing page is designed for use in production. It provides a copyable command-line snippet showing how to run operations with your server. By default, the only visible reference to Apollo is a footer explaining how to customize the page. You can also configure it to add a link to query your graph with the [Apollo Explorer](/graphos/explorer/). You can choose to embed the Apollo Explorer on your endpoint if you pass the `embed` [option](#embed-options).
### Options
diff --git a/docs/source/api/plugin/usage-reporting.mdx b/docs/source/api/plugin/usage-reporting.mdx
index b428b4e43ca..c83a8feeff6 100644
--- a/docs/source/api/plugin/usage-reporting.mdx
+++ b/docs/source/api/plugin/usage-reporting.mdx
@@ -3,7 +3,7 @@ title: "API Reference: Usage reporting plugin"
api_reference: true
---
-Apollo Server's built-in usage reporting plugin gathers data on how your clients use the operations and fields in your GraphQL schema. The plugin also handles pushing this usage data to [Apollo Studio](/studio/), as described in [Metrics and logging](../../monitoring/metrics/).
+Apollo Server's built-in usage reporting plugin gathers data on how your clients use the operations and fields in your GraphQL schema. The plugin also handles pushing this usage data to [GraphOS](/graphos/), as described in [Metrics and logging](../../monitoring/metrics/).
This plugin is designed to be used in an Apollo Gateway or in a monolithic server; it is not designed to be used from a subgraph. In a supergraph running Apollo Federation, the Apollo Gateway or Apollo Router will send usage reports to Apollo's cloud. Subgraphs don't need to also send usage reports to Apollo's cloud; instead, they send it to the Router via [inline traces](./inline-trace/) and the Router combines execution information across all subgraphs and sends summarized reports to the cloud.
diff --git a/docs/source/builtin-plugins.md b/docs/source/builtin-plugins.md
index 02c1d2927fe..76650f7077e 100644
--- a/docs/source/builtin-plugins.md
+++ b/docs/source/builtin-plugins.md
@@ -12,7 +12,7 @@ You can also [create custom plugins](./integrations/plugins/).
| Name | Description | Location |
|------|---------|-------------|
-| [Usage reporting](./api/plugin/usage-reporting/) | Gathers helpful operation usage data and reports it to [Apollo Studio](https://www.apollographql.com/docs/studio/) for visualization, alerting, and more. |`@apollo/server/plugin/usageReporting` |
+| [Usage reporting](./api/plugin/usage-reporting/) | Gathers helpful operation usage data and reports it to [GraphOS](/graphos/) for visualization, alerting, and more. |`@apollo/server/plugin/usageReporting` |
| [Schema reporting](./api/plugin/schema-reporting/) | Automatically reports the server's schema to [Apollo Studio](/studio/) on startup to enable schema history and up-to-date metrics. | `@apollo/server/plugin/schemaReporting` |
| [Inline trace](./api/plugin/inline-trace/) | Used primarily by [federated subgraphs](https://www.apollographql.com/docs/federation/) to include operation trace data in responses to the gateway. | `@apollo/server/plugin/inlineTrace` |
| [Cache control](./api/plugin/cache-control/) | Calculates caching behavior for operation responses. | `@apollo/server/plugin/cacheControl` |
diff --git a/docs/source/data/fetching-data.mdx b/docs/source/data/fetching-data.mdx
index 7bd12384eb6..baaf4773d0f 100644
--- a/docs/source/data/fetching-data.mdx
+++ b/docs/source/data/fetching-data.mdx
@@ -84,7 +84,7 @@ export class ReservationsDataSource {
If you want to add batching, deduplication, or caching to your data source class, we recommend using the [DataLoader package](https://github.com/graphql/dataloader). Using a package like DataLoader is particularly helpful for solving the [infamous N+1 query problem](https://shopify.engineering/solving-the-n-1-problem-for-graphql-through-batching).
-DataLoader provides a memoization cache, which avoids loading the same object multiple times during a single GraphQL request ([much like one of `RESTDataSource`'s caching layers](./fetching-rest#get-requests-and-responses)). It also combines loads during a single event loop tick into a batched request that fetches multiple objects at once.
+DataLoader provides a memoization cache, which avoids loading the same object multiple times during a single GraphQL request ([much like one of `RESTDataSource`'s caching layers](./fetching-rest#get-and-head-requests-and-responses)). It also combines loads during a single event loop tick into a batched request that fetches multiple objects at once.
DataLoader instances are per-request, so if you use a DataLoader in your data source, ensure you **create a new instance of that class with every request** :
diff --git a/docs/source/data/subscriptions.mdx b/docs/source/data/subscriptions.mdx
index 36426dd3f34..ab6dfbc3cf4 100644
--- a/docs/source/data/subscriptions.mdx
+++ b/docs/source/data/subscriptions.mdx
@@ -610,7 +610,7 @@ If you intend to [switch from `subscriptions-transport-ws` to `graphql-ws`](/apo
-[Apollo Studio Explorer](/graphos/explorer/explorer/)
+[Apollo Studio Explorer](/graphos/explorer/)
|
diff --git a/docs/source/deployment/lambda.mdx b/docs/source/deployment/lambda.mdx
index e034ebfc494..bcb05dcac7a 100644
--- a/docs/source/deployment/lambda.mdx
+++ b/docs/source/deployment/lambda.mdx
@@ -230,7 +230,7 @@ If successful, `serverless` should output something like this:
> Monitor all your API routes with Serverless Console: run "serverless --console"
```
-You can now navigate to your endpoints and query your newly hosted server using [Apollo Sandbox](/studio/explorer/sandbox).
+You can now navigate to your endpoints and query your newly hosted server using [Apollo Sandbox](/graphos/explorer/sandbox/).
#### What does `serverless` do?
@@ -538,4 +538,3 @@ exports.graphqlHandler = serverlessExpress({ app });
The setup enables you to customize your HTTP behavior as needed.
-
diff --git a/docs/source/migration.mdx b/docs/source/migration.mdx
index de6b893d424..845fb931d63 100644
--- a/docs/source/migration.mdx
+++ b/docs/source/migration.mdx
@@ -1003,7 +1003,7 @@ For `ValidationError`, use `ApolloServerErrorCode.GRAPHQL_VALIDATION_FAILED`. Fo
### `__resolveObject`
Apollo Server 4 removes the dependency on `@apollographql/apollo-tooling`, additionally removing the `__resolveObject` pseudo-resolver. The `__resolveObject` function was an undocumented predecessor to
-the [`__resolveReference`](/federation/api/apollo-subgraph/#__resolvereference) method. While we believe `__resolveObject` is a useful feature, it would work better if implemented directly in `graphql-js` rather than in Apollo Server.
+the [`__resolveReference`](./using-federation/api/apollo-subgraph/#__resolvereference) method. While we believe `__resolveObject` is a useful feature, it would work better if implemented directly in `graphql-js` rather than in Apollo Server.
### `requestAgent` option to `ApolloServerPluginUsageReporting`
diff --git a/docs/source/monitoring/metrics.mdx b/docs/source/monitoring/metrics.mdx
index f1a7753448d..2d0fa73271b 100644
--- a/docs/source/monitoring/metrics.mdx
+++ b/docs/source/monitoring/metrics.mdx
@@ -9,13 +9,13 @@ Apollo Server integrates seamlessly with [Apollo GraphOS](/graphos/) to help you
## Sending metrics to GraphOS
-[Apollo GraphOS](/graphos/) provides an integrated hub for all of your GraphQL performance data, which you can view in Apollo Studio. Studio [aggregates and displays information](/graphos/metrics/usage-reporting/) for your schema, queries, requests, and errors. You can also configure alerts that support [Slack](/graphos/notifications/notification-setup/#slack) and [Datadog](/graphos/metrics/datadog-integration/) integrations.
+[Apollo GraphOS](/graphos/) provides an integrated hub for all of your GraphQL performance data, which you can view in Apollo Studio. Studio [aggregates and displays information](/graphos/metrics/) for your schema, queries, requests, and errors. You can also configure alerts that support [Slack](/graphos/metrics/notifications/notification-setup/#slack) and [Datadog](/graphos/metrics/datadog-integration/) integrations.
### Connecting to GraphOS
To connect Apollo Server to GraphOS, first [obtain a graph API key](/graphos/api-keys#graph-api-keys). To provide this key to Apollo Server, assign it to the `APOLLO_KEY` environment variable in your server's environment.
-Then associate your server instance with a particular graph ID and [graph variant](/graphos/graphs/overview/#variants) by setting the `APOLLO_GRAPH_REF` environment variable.
+Then associate your server instance with a particular graph ID and [graph variant](/graphos/graphs/#variants) by setting the `APOLLO_GRAPH_REF` environment variable.
You can set environment variable values on the command line as seen below, or with the [`dotenv` npm package](https://www.npmjs.com/package/dotenv) (or similar).
diff --git a/docs/source/using-federation/apollo-subgraph-setup.mdx b/docs/source/using-federation/apollo-subgraph-setup.mdx
index 662b440e0f8..ef8e56e3191 100644
--- a/docs/source/using-federation/apollo-subgraph-setup.mdx
+++ b/docs/source/using-federation/apollo-subgraph-setup.mdx
@@ -4,7 +4,7 @@ title: Implementing a subgraph with Apollo Server
This article demonstrates how to create a **subgraph** for a federated supergraph using Node.js and Apollo Server.
-> To create a subgraph using a different language and/or framework, see the list of [Federation-compatible subgraph implementations](/federation/supported-subgraphs/). Note that not all listed libraries support _all_ Federation features.
+> To create a subgraph using a different language and/or framework, see the list of [Federation-compatible subgraph implementations](/federation/building-supergraphs/supported-subgraphs/). Note that not all listed libraries support _all_ Federation features.
## Defining a subgraph
@@ -241,4 +241,3 @@ console.log(`🚀 Server ready at ${url}`);
## Custom directives
See [Custom directives in subgraphs](../schema/directives/#in-subgraphs).
-
diff --git a/docs/source/workflow/build-run-queries.mdx b/docs/source/workflow/build-run-queries.mdx
index 4acaeeaa5c1..7024e9f05a8 100644
--- a/docs/source/workflow/build-run-queries.mdx
+++ b/docs/source/workflow/build-run-queries.mdx
@@ -8,7 +8,7 @@ In non-production environments, Apollo Server 4's landing page is an embedded ve
> Apollo Server serves a different landing page [in production](#production-vs-non-production).
-[Apollo Sandbox](https://studio.apollographql.com/sandbox) is a special mode of Apollo Studio used for local development, which doesn't require an Apollo account. Sandbox includes the [Apollo Studio Explorer](/graphos/explorer/explorer), a powerful web IDE that enables you to build and run operations against your server (or any other reachable server).
+[Apollo Sandbox](https://studio.apollographql.com/sandbox) is a special mode of Apollo Studio used for local development, which doesn't require an Apollo account. Sandbox includes the [Apollo Studio Explorer](/graphos/explorer/), a powerful web IDE that enables you to build and run operations against your server (or any other reachable server).
## Production vs. non-production