You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/admin/overview/setting-up-a-trial-of-github-enterprise-cloud.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ To set up a trial, you must be signed in to a personal account. If you don't hav
29
29
The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** and includes the following features.
30
30
31
31
* Access to **most** {% data variables.product.prodname_ghe_cloud %} features.
32
-
* {% data variables.copilot.copilot_for_business %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
32
+
* {% data variables.copilot.copilot_for_business %}
33
33
* {% data variables.product.prodname_GH_cs_and_sp %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
34
34
* Access to the **new billing platform**.{% ifversion enhanced-billing-platform %} See [AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises).{% endif %}
35
35
* An **enterprise account**, which allows you to manage multiple organizations. See [AUTOTITLE](/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts).
Copy file name to clipboardExpand all lines: content/graphql/guides/using-pagination-in-the-graphql-api.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ In this example, `pageInfo.startCursor` gives the cursor for the first item on t
46
46
47
47
## Changing the number of items per page
48
48
49
-
The `first` and `last` arguments control how many items are returned. The maximum number of items you can fetch using the `first` or `last` argument is 100. You may need to request fewer than 100 items if your query touches a lot of data in order to avoid hitting a rate or node limit. For more information, see [AUTOTITLE](/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api).
49
+
The `first` and `last` arguments control how many items are returned. The maximum number of items you can fetch using the `first` or `last` argument is 100. You may need to request fewer than 100 items if your query touches a lot of data in order to avoid hitting a rate or node limit. For more information, see [AUTOTITLE](/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api).
title: Rate limits and node limits for the GraphQL API
3
-
shortTitle: Rate and node limits
2
+
title: Rate limits and query limits for the GraphQL API
3
+
shortTitle: Rate and query limits
4
4
intro: 'The {% data variables.product.prodname_dotcom %} GraphQL API has limitations in place to protect against excessive or abusive calls to {% data variables.product.prodname_dotcom %}''s servers.'
To pass [schema](/graphql/guides/introduction-to-graphql#schema) validation, all GraphQL API [calls](/graphql/guides/forming-calls-with-graphql) must meet these standards:
19
-
20
-
* Clients must supply a `first` or `last` argument on any [connection](/graphql/guides/introduction-to-graphql#connection).
21
-
* Values of `first` and `last` must be within 1-100.
22
-
* Individual calls cannot request more than 500,000 total [nodes](/graphql/guides/introduction-to-graphql#node).
23
-
24
-
### Calculating nodes in a call
25
-
26
-
These two examples show how to calculate the total nodes in a call.
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> = 1,000 pullRequests
121
-
+
122
-
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> x <spanclass="bluebox">10</span> = 10,000 pullRequest comments
123
-
+
124
-
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> = 1,000 issues
125
-
+
126
-
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> x <spanclass="bluebox">10</span> = 10,000 issue comments
127
-
+
128
-
<spanclass="bluebox">10</span> = 10 followers
129
-
130
-
= 22,060 total nodes</pre>
131
-
132
17
## Primary rate limit
133
18
134
19
{% ifversion ghes %}
@@ -278,6 +163,126 @@ You should also subscribe to webhook events instead of polling the API for data.
278
163
279
164
You can also stream the audit log in order to view API requests. This can help you troubleshoot integrations that are exceeding the rate limit. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise).
280
165
166
+
{% endif %}
167
+
168
+
## Node limit
169
+
170
+
To pass [schema](/graphql/guides/introduction-to-graphql#schema) validation, all GraphQL API [calls](/graphql/guides/forming-calls-with-graphql) must meet these standards:
171
+
172
+
* Clients must supply a `first` or `last` argument on any [connection](/graphql/guides/introduction-to-graphql#connection).
173
+
* Values of `first` and `last` must be within 1-100.
174
+
* Individual calls cannot request more than 500,000 total [nodes](/graphql/guides/introduction-to-graphql#node).
175
+
176
+
### Calculating nodes in a call
177
+
178
+
These two examples show how to calculate the total nodes in a call.
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> = 1,000 pullRequests
273
+
+
274
+
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> x <spanclass="bluebox">10</span> = 10,000 pullRequest comments
275
+
+
276
+
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> = 1,000 issues
277
+
+
278
+
<spanclass="redbox">50</span> x <spanclass="greenbox">20</span> x <spanclass="bluebox">10</span> = 10,000 issue comments
279
+
+
280
+
<spanclass="bluebox">10</span> = 10 followers
281
+
282
+
= 22,060 total nodes</pre>
283
+
284
+
{% ifversion not ghes %}
285
+
281
286
## Timeouts
282
287
283
288
If {% data variables.product.github %} takes more than 10 seconds to process an API request, {% data variables.product.github %} will terminate the request and you will receive a timeout response and a message reporting that "We couldn't respond to your request in time".
@@ -288,4 +293,24 @@ You can check the status of the GraphQL API at [githubstatus.com](https://www.gi
288
293
289
294
If a timeout occurs for any of your API requests, additional points will be deducted from your primary rate limit for the next hour to protect the speed and reliability of the API.
290
295
296
+
## Other resource limits
297
+
298
+
To protect the speed and reliability of the API, {% data variables.product.github %} also enforces other resource limitations. If your GraphQL query consumes too many resources, {% data variables.product.github %} will terminate the request and return partial results along with an error indicating that resource limits were exceeded.
299
+
300
+
**Examples of queries that may exceed resource limits:**
301
+
302
+
* Requesting thousands of objects or deeply nested relationships in a single query.
303
+
* Using large `first` or `last` arguments in multiple connections simultaneously.
304
+
* Fetching extensive details for each object, such as all comments, reactions, and related issues for every repository.
305
+
291
306
{% endif %}
307
+
308
+
## Query optimization strategies
309
+
310
+
***Limit the number of objects**: Use smaller values for `first` or `last` arguments and paginate through results.
***Filter results**: Use arguments to filter data and return only what you need.
313
+
***Split large queries**: Break up complex queries into multiple simpler queries.
314
+
***Request only required fields**: Select only the fields you need, rather than requesting all available fields.
315
+
316
+
By following these strategies, you can reduce the likelihood of hitting resource limits and improve the performance and reliability of your API requests.
Copy file name to clipboardExpand all lines: data/reusables/enterprise/emus-trial-content.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,4 @@
3
3
If you choose an {% data variables.enterprise.prodname_emu_enterprise %}, you will also choose whether to create an enterprise on {% data variables.product.prodname_dotcom_the_website %} or in a specific data residency region on {% data variables.enterprise.data_residency_site %}.
4
4
5
5
* Trials on **{% data variables.product.prodname_dotcom_the_website %}** include free access to {% data variables.copilot.copilot_for_business %} and {% data variables.product.prodname_GHAS %} features. Your enterprise will be hosted in the US.
6
-
* Trials on **{% data variables.enterprise.data_residency_site %}** allow you to meet specific regulatory requirements and choose a unique subdomain for your enterprise. However, the trial won't include free access to {% data variables.copilot.copilot_for_business %} and {% data variables.product.prodname_GHAS %} features, or access to the currently unavailable features listed in[AUTOTITLE](/enterprise-cloud@latest/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency#currently-unavailable-features).
6
+
* Trials on **{% data variables.enterprise.data_residency_site %}** allow you to meet specific regulatory requirements and choose a unique subdomain for your enterprise. However, there are some features that are not included in the trial. See[AUTOTITLE](/enterprise-cloud@latest/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency#currently-unavailable-features).
0 commit comments