Skip to main content

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)