Usage Limits
To protect the experience of all users, we impose limits on the API usage. There are several types of limits as described below. We deny a request if any one of the limits has been exceeded.
Rate Limit
Restricts number of GraphQL operations per minute. This uses a sliding window approach. This means whenever we receive a request, we will count the number of operations that started within the last minute.
Current Limit: 1000 requests per minute and company
Depth Limit
Restricts a GraphQL operation based on its depth, preventing deeply nested queries.
Current Limit: 5
(see example below)
Node limits
Restricts a GraphQL operation based on the number of nodes. A node is defined as a field with a selection set - or, in other words, a field that returns an object or an array of objects and not just a scalar value.
Current Limit: 5
# depth = 1
# 1 node
{
machines {
name
}
}
# depth = 2
# 2 nodes
{
machines {
name
annotations {
startAt
}
}
}
# depth = 2
# 3 nodes
{
machines {
name
annotations {
startAt
}
currentStates {
label
description
}
}
}
# depth = 3
# 3 nodes
{
machines {
name
annotations {
startAt
annotationType {
name
}
}
}
}
Time limits
We restrict the time that a GraphQL operation is allowed to take. The duration is specified in seconds.
Current Limit: 10s (this limit could change without notice)