Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions content/graphql/guides/forming-calls-with-graphql.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,6 @@ For a real-world example, see [Example mutation](#example-mutation).

[Variables](https://graphql.org/learn/queries/#variables) can make queries more dynamic and powerful, and they can reduce complexity when passing mutation input objects.

> [!NOTE]
> If you're using the Explorer, make sure to enter variables in the separate [Query Variables pane](/graphql/guides/using-the-explorer#using-the-variable-pane), and do not include the word `variables` before the JSON object.

Here's an example query with a single variable:

```graphql
Expand Down Expand Up @@ -269,9 +266,6 @@ mutation AddReactionToIssue {
}
```

> [!TIP]
> Although you can include a query and a mutation in the same Explorer window if you give them names (`FindIssueID` and `AddReactionToIssue` in this example), the operations will be executed as separate calls to the GraphQL endpoint. It's not possible to perform a query at the same time as a mutation, or vice versa.

Let's walk through the example. The task sounds simple: add an emoji reaction to an issue.

So how do we know to begin with a query? We don't, yet.
Expand All @@ -294,7 +288,7 @@ Let's examine the query line by line:

* `query FindIssueID {`

Here we're performing a query, and we name it `FindIssueID`. Note that naming a query is optional; we give it a name here so that we can include it in same Explorer window as the mutation.
Here we're performing a query, and we name it `FindIssueID`. Note that naming a query is optional; we give it a name here so that we can include it in same GUI client window as the mutation.

* `repository(owner:"octocat", name:"Hello-World") {`

Expand All @@ -317,7 +311,7 @@ With the ID known, we can proceed with the mutation:

* `mutation AddReactionToIssue {`

Here we're performing a mutation, and we name it `AddReactionToIssue`. As with queries, naming a mutation is optional; we give it a name here so we can include it in the same Explorer window as the query.
Here we're performing a mutation, and we name it `AddReactionToIssue`. As with queries, naming a mutation is optional; we give it a name here so we can include it in the same GUI client window as the query.

* `addReaction(input:{subjectId:"MDU6SXNzdWUyMzEzOTE1NTE=",content:HOORAY}) {`

Expand Down
5 changes: 5 additions & 0 deletions content/graphql/guides/using-graphql-clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ intro: 'You can run queries on real {% data variables.product.prodname_dotcom %}
redirect_from:
- /v4/guides/using-the-explorer
- /graphql/guides/using-the-explorer
- /graphql/overview/explorer
versions:
fpt: '*'
ghec: '*'
Expand All @@ -12,6 +13,10 @@ topics:
- API
---


> [!WARNING]
> The GraphQL Explorer was removed from the documentation on November 11, 2025. See our [changelog announcement](https://github.blog/changelog/2025-11-07-graphql-explorer-removal-from-api-documentation-on-november-7-2025).

## Using GraphQL client IDEs

There are many open-source GraphQL client IDEs you can use to access {% data variables.product.company_short %}'s GraphQL API.
Expand Down
1 change: 0 additions & 1 deletion content/graphql/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ featuredLinks:
- /graphql/guides/introduction-to-graphql
- /graphql/guides/using-graphql-clients
popular:
- /graphql/overview/explorer
- /graphql/overview/public-schema
- /graphql/guides/using-pagination-in-the-graphql-api
guideCards:
Expand Down
2 changes: 0 additions & 2 deletions content/graphql/overview/about-the-graphql-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ The docs in the sidebar are generated from the {% data variables.product.prodnam

* Schema-defined types: [scalars](/graphql/reference/scalars), [objects](/graphql/reference/objects), [enums](/graphql/reference/enums), [interfaces](/graphql/reference/interfaces), [unions](/graphql/reference/unions), and [input objects](/graphql/reference/input-objects).

You can access this same content via the [Explorer Docs sidebar](/graphql/guides/using-the-explorer#accessing-the-sidebar-docs). Note that you may need to rely on both the docs and the schema validation to successfully call the GraphQL API.

For other information, such as authentication and rate limit details, check out the [guides](/graphql/guides).

## Requesting support
Expand Down
34 changes: 0 additions & 34 deletions content/graphql/overview/explorer.md

This file was deleted.

3 changes: 1 addition & 2 deletions content/graphql/overview/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Overview
intro: 'Learn about the {% data variables.product.prodname_dotcom %} GraphQL API, previews for upcoming changes, breaking changes, and limitations. You can also use the GraphQL Explorer to interact with the API on real {% data variables.product.prodname_dotcom %} data.'
intro: 'Learn about the {% data variables.product.prodname_dotcom %} GraphQL API, previews for upcoming changes, breaking changes, and limitations.'
versions:
fpt: '*'
ghec: '*'
Expand All @@ -10,7 +10,6 @@ children:
- /public-schema
- /breaking-changes
- /changelog
- /explorer
- /rate-limits-and-query-limits-for-the-graphql-api
---

Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ curl -X POST -H "Authorization: Bearer YOUR_TOKEN" -H "Content-Type: application

For more information on using the GraphQL API, see:
* [AUTOTITLE](/graphql/guides)
* [AUTOTITLE](/graphql/overview/explorer)

### Re-provisioning SCIM for users through your identity provider

Expand Down
3 changes: 0 additions & 3 deletions src/graphql/pages/explorer.module.scss

This file was deleted.

69 changes: 0 additions & 69 deletions src/graphql/pages/explorer.tsx

This file was deleted.

1 change: 0 additions & 1 deletion src/pages/[versionId]/graphql/overview/explorer.tsx

This file was deleted.

5 changes: 1 addition & 4 deletions src/redirects/middleware/handle-redirects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,9 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex
// The `q` param is deprecated, but we still need to support it in case
// there are links out there that use it.
const onSearch = req.path.endsWith('/search') || req.path.startsWith('/api/search')
// We have legacy links that links to the GraphQL Explorer with
// a `?query=...` in the URL. These should not redirect to the search page.
const onGraphqlExplorer = req.path.includes('/graphql/overview/explorer')
const hasQ = 'q' in req.query
const hasQuery = 'query' in req.query
if ((hasQ && !hasQuery) || (hasQuery && !onSearch && !onGraphqlExplorer)) {
if ((hasQ && !hasQuery) || (hasQuery && !onSearch)) {
const language = getLanguage(req)
const sp = new URLSearchParams(req.query as URLSearchParamsTypes)
if (sp.has('q') && !sp.has('query')) {
Expand Down
5 changes: 0 additions & 5 deletions src/redirects/tests/redirects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,6 @@ describe('redirects', () => {
const res = await get(reqPath)
expect(res.statusCode).toBe(200)
})

test('Do not redirect to search if on GraphQL Explorer "search"', async () => {
const res = await get('/en/graphql/overview/explorer?query=anything')
expect(res.statusCode).toBe(200)
})
})

describe('trailing slashes', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ describe('developer.github.com redirects', () => {
'/webhooks',
'/v3/guides/managing-deploy-keys',
'/apps/building-oauth-apps/authorizing-oauth-apps',
'/v4/explorer',
'/v3/search',
'/apps',
'/v3/activity/events/types',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,7 @@ export default function parsePageSectionsIntoRecords(page: any): Record {

let body = ''
// Typical example pages with no `$root` are:
// https://docs.github.com/en/code-security/guides or
// https://docs.github.com/en/graphql/overview/explorer
// https://docs.github.com/en/code-security/guides
//
// We need to avoid these because if you use `getAllText()` on these
// pages, it will extract *everything* from the page, which will
Expand Down
Loading