Understanding Limits
This page explains what counts toward each limit and how NightOps enforces them.
How Limits Work
NightOps enforces limits when you try to create new resources. If you're at your limit, you'll see a message asking you to upgrade or remove unused resources.
Existing resources are never affected. If you downgrade from Pro to Free, your existing resources remain but you won't be able to create new ones until you're under the limits.
Cloud Provider Limits
What counts as a provider?
Each connected cloud account counts as one provider:
| Example | Count |
|---|---|
AWS account 123456789012 | 1 provider |
AWS account 987654321098 | 1 provider |
GCP project my-project | 1 provider |
Azure subscription abc-123 | 1 provider |
Disconnected providers don't count. If you disconnect a provider, it no longer counts toward your limit.
Free plan (2 providers)
✓ 1 AWS account + 1 GCP project
✓ 2 AWS accounts
✗ 2 AWS accounts + 1 Azure subscription (3 providers)
When enforcement happens
- When you try to connect a new cloud provider
- Does NOT affect existing connections if you downgrade
Team Member Limits
What counts as a team member?
Every user with access to your organization counts:
| Status | Counts? |
|---|---|
| Active user | Yes |
| Pending invite | No |
| Owner | Yes |
| Admin | Yes |
| Member | Yes |
Free plan (3 users)
The organization owner counts as one of the 3 users.
✓ Owner + 2 members
✗ Owner + 3 members (4 total)
When enforcement happens
- When you invite a new team member
- When a pending invite is accepted
- Does NOT remove existing members if you downgrade
Collection Limits
What counts as a collection?
Every collection counts, regardless of:
- Whether it has a schedule
- Whether it contains assets
- Whether it's active or paused
Free plan (5 collections)
✓ 5 collections with schedules
✓ 3 collections with schedules + 2 empty collections
✗ 6 collections (even if empty)
When enforcement happens
- When you create a new collection
- Does NOT affect existing collections if you downgrade
Schedule Limits
What counts as a schedule?
Each active schedule counts toward your limit:
| Status | Counts? |
|---|---|
| Active schedule | Yes |
| Paused schedule | Yes |
| Deleted schedule | No |
Note: Each collection can have at most one schedule, but not all collections need schedules.
Free plan (5 schedules)
✓ 5 collections with schedules
✓ 10 collections, 5 with schedules
✗ 6 collections with schedules
When enforcement happens
- When you create or enable a schedule
- Does NOT pause existing schedules if you downgrade
Schedule Interval Limits
What is the minimum interval?
The minimum interval is the shortest time between when a schedule starts resources and stops them.
| Plan | Minimum |
|---|---|
| Free | 2 hours (120 minutes) |
| Pro | 15 minutes |
| Enterprise | 5 minutes |
Example schedules
Free plan (2-hour minimum):
✓ Start: 9:00 AM, Stop: 6:00 PM (9 hours)
✓ Start: 9:00 AM, Stop: 11:00 AM (2 hours)
✗ Start: 9:00 AM, Stop: 10:00 AM (1 hour)
Pro plan (15-minute minimum):
✓ Start: 9:00 AM, Stop: 9:15 AM (15 minutes)
✗ Start: 9:00 AM, Stop: 9:10 AM (10 minutes)
Why this limit exists
Short intervals can cause:
- Rapid resource cycling that disrupts services
- Incomplete startup/shutdown sequences
- Higher costs from frequent state changes
When enforcement happens
- When you create or edit a schedule
- Does NOT modify existing schedules if you downgrade
Audit Log Retention
How retention works
| Plan | Retention |
|---|---|
| Free | 7 days |
| Pro | 90 days |
| Enterprise | 365 days |
Audit logs older than your retention period are automatically deleted. This happens daily.
What's in audit logs?
- Schedule executions (start/stop)
- Manual overrides
- Configuration changes
- User actions
- API calls
If you downgrade
When you downgrade, your retention period changes immediately. Logs older than the new retention period will be deleted within 24 hours.
Feature Gates
Some features are only available on certain plans and cannot be used at all on lower plans:
| Feature | Free | Pro | Enterprise |
|---|---|---|---|
| Slack Integration | Locked | Available | Available |
| Calendar Integration | Locked | Available | Available |
| API Access | Locked | Available | Available |
| Webhooks | Locked | Available | Available |
| SAML SSO | Locked | Locked | Available |
When you try to access a locked feature, you'll see an upgrade prompt.
Checking Your Usage
In the Dashboard
Go to Settings → Billing → Usage to see:
- Current usage for each limit
- Percentage of limit used
- Visual indicators when approaching limits
What you'll see
Providers 1 / 2 [████░░░░░░] 50%
Team Members 3 / 3 [██████████] 100% ⚠️ At limit
Collections 4 / 5 [████████░░] 80%
Schedules 3 / 5 [██████░░░░] 60%
Notifications
You'll receive a notification when:
- You reach 80% of a limit
- You reach 100% of a limit
- You try to exceed a limit
Exceeding Limits
What happens?
When you try to create a resource that would exceed a limit:
- The action is blocked
- You see an error message
- The error includes a link to upgrade
Example error:
You've reached the collections limit (5/5). Upgrade to Pro for unlimited collections.
How to resolve
- Remove unused resources — Delete old providers, remove inactive members, archive unused collections
- Upgrade your plan — Upgrade to Pro for higher or unlimited limits
Organization-Specific Overrides
Enterprise customers may have custom limits set by NightOps. These override the default plan limits.
Contact your account manager or support@nightops.io to discuss custom limits.