Limits and quotas

What the platform caps, what your plan includes, what happens when a project reaches a limit, and how to stay within them.

Last updated

Every project has two kinds of limit. This page lists both, says what happens when a project reaches each one, and shows how to stay within them.

  • Platform limits are fixed. They're the same for every project, whatever the plan, such as the 250-step cap on a workflow job or the 1,000-record maximum page size.
  • Plan quotas are allowances that depend on your plan, such as database storage, file storage, monthly active users, workflow runs, daily emails and AI tokens. Each project has its own plan, so each has its own quotas.

This page doesn't quote plan allowances or prices, because they change. Your plan's numbers are always in the portal, and the tables below say which limits come from the plan.

See your usage#

In the Anythink dashboard

  1. Open My Anythink and select the project from Projects.
  2. Under the project's name, the progress bars show Database and Files (in GB), Monthly Active Users, Daily Emails (sent today), Workflow Runs (this month) and AI Token Usage (this month). A bar turns red when the project reaches the limit.
  3. For the whole billing account, open it and read Account Usage & Quotas on the Overview tab. It shows total spend, spend beyond your plans, and how many projects you have against your project limit.

Inside a project, the Anythink dashboard can also show quota gauges. Add a quota chart to a dashboard. See Dashboards and charts.

With the CLI

There's no usage command. anythink plans shows what each plan includes, so you can compare it with the bars in the portal.

With an AI assistant (MCP)

Usage is read in the portal. Your assistant can run plans to list what each plan includes. See Account, billing and projects.

How a limit shows up#

Where you hit it What you see
An API request An HTTP status code and a message. The tables below give it for each limit.
A workflow The job ends Failed, with a message in the job history.
An email or a push Sending stops or is skipped. The table for the area says which.
AI chat The reply stops with a message about your allowance.

Read the status code first. A 429 means wait and retry. A 403 on a write usually means a quota. A 400 means the request itself was refused, and its message says why. See REST API reference for the full list of statuses.

API#

Limit Value Applies When you reach it
Requests A per-minute cap for each project and client IP address. 2,000 per minute by default. Per project and client IP, set per deployment 429 with retry_after seconds. Read X-RateLimit-Limit for your value.
Page size 1 to 1,000 records. Default 25. Fixed 400, with 'pageSize' must be between 1 and 1000.
Page number 1 or more. Fixed 400, with 'page' must be greater than 0.
Relationship expansion Four levels deep. Fixed Expansion stops at the fourth level.
Request body 50 MB. Fixed The request is refused.

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Don't hard-code the number. Read it from the header. See REST API reference.

Records and data#

Limit Value Applies When you reach it
Database storage Your plan's database allowance, plus any bundles. Per plan, per project Writes (create, bulk create, import and update) return 403 with a message that says how much you're using. Reads still work.
Monthly active users Your plan's allowance, plus any bundles. Per plan, per project Creating a user returns 400 with a message that the quota is reached.
Integer fields Up to 2,147,483,647. Decimals take up to two places. Fixed Larger values aren't accepted.
Dashboard grid page 25, 50, 100, 150, 200 or 250 records. Fixed Choose a smaller page size or go to the next page.
Kanban and calendar views Load up to 1,000 records. Fixed Filter to the records you need.
CSV import file 50 MB. Fixed The upload is refused. Split the file.
CSV import batches 100 rows at a time. Fixed Not an error. The import runs in batches.

See Records and views.

Files and storage#

Limit Value Applies When you reach it
File storage Your plan's file allowance, plus any bundles. Per plan, per project An upload that would take the project past its allowance returns 403 with a message that says how much you're using.
Size of one upload 50 MB. Fixed 400, with File size exceeds maximum allowed size of 50MB.
File list page size 1 to 1,000. Default 25. Fixed 400, with 'pageSize' must be between 1 and 1000.
File type and size on a field Whatever you configure on the file field. Per field The upload is refused.

See Upload and manage files.

Limit Value Applies When you reach it
Results per page 1 to 100. Default 20. Fixed A message tells you the allowed range.
Reachable results 1,000 per query for each entity. Fixed Later pages are empty. Narrow the query with q, e or fl.
Similar records limit defaults to 10. Fixed Not an error.
Index updates Background. Fixed A change is searchable a moment after you save it.

See Search.

Workflows#

Limit Value Applies When you reach it
Steps run per job 250. Fixed The job ends Failed with a maximum-step-limit message.
Workflow runs Your plan's monthly allowance, plus any bundles. Per plan, per project New jobs end Failed with a quota message. The run isn't counted.
Run Script 30 seconds, 64 MB and 100,000 statements per run. Fixed The step fails.
Call An API 30 seconds per request. Public http and https addresses only. Fixed The step fails.
File downloads in a step 50 MB and 30 seconds per file. Fixed The step fails.
Schedules Five-field cron, UTC only, one-minute resolution. Fixed Not available below one minute.
Retries None. Fixed A failed step stays failed.
Names A workflow name is unique in the project and up to 255 characters. A step key is up to 255 characters. Fixed Choose a shorter value.

A workflow API call returns 204 No Content because the job runs in the background. See Workflows, Step types and Test workflows and read job history.

Email#

Limit Value Applies When you reach it
Daily emails Your plan's daily allowance, plus any bundles. Emails your workflows send count towards it. System emails don't. Per plan, per project The email isn't sent. Check the Daily Emails bar in the portal if emails stop arriving.
Attachments per email 10. Fixed The step fails.
Attachment size 25 MB in total for one email. Fixed The step fails.
Recipients per step One address in to. Fixed Use one step for each recipient.
Sender display name 80 characters. Fixed Choose a shorter value.

The daily allowance counts from the start of the day in UTC. See Email templates.

Push notifications#

Limit Value Applies When you reach it
Providers FCM and web push. Fixed Not applicable.
Delivery volume Devices are read in pages of 500. FCM sends up to 500 requests at once and web push 100. Fixed Large sends take longer. They aren't refused.
Retries A failed FCM request that returned 429 or 5xx is retried up to three times with backoff. Fixed The send is marked failed.
Step wait Up to 30 seconds for delivery to finish. Fixed A slower send reports pending and carries on in the background.
Per-row sends Ten at a time. Fixed Not an error.
Tap token One hour from the send. Fixed After that, a tap can't start a workflow.
data values Strings only. Fixed Not applicable. Send text values.
Provider limits Set by Google and the browser push services. Set by the provider Payload size and rate limits follow the provider.

See Push notifications.

AI#

Limit Value Applies When you reach it
AI token allowance Your plan's monthly allowance, plus any bundles. Anythink AI mode only. Per plan, per project The chat stops with a message to buy a top-up bundle or switch to your own key.
Bring Your Own Key Doesn't use the allowance. Not applicable Your provider's own limits apply.
Tool rounds per message 10. Fixed The reply ends where it is.
Attachments JPEG, PNG, GIF, WebP or PDF, up to 5 MB each and 5 per message. Fixed Use a smaller or supported file.

See AI and MCP and MCP tool reference.

Payments#

AnythinkPay has no usage quota of its own. What it limits is how the model works.

Limit Value Applies When you reach it
Webhook delivery to your project Retried up to five times, waiting 30 seconds, then 1, 2, 4 and 8 minutes. Fixed The delivery stops being retried.
Plan tier rank A whole number from 1 to 100. Fixed Not applicable.
Billing One payer for each subscription. No team or per-seat billing. Fixed Not applicable.
Apple in-app purchases iOS only. Android and web use Stripe checkout. Fixed Not applicable.

See How payments work and Plans and subscriptions.

Plan quotas#

These are the quotas that depend on your plan. Each applies to one project.

Quota Counted Reset
Database storage (GB) What the project stores now Doesn't reset. Free space by deleting data.
File storage (GB) What the project's files take now Doesn't reset. Free space by deleting files.
Monthly active users Active users in the billing month Each billing month
Workflow runs Billable jobs in the billing month Each billing month
Emails per day Workflow emails sent today Daily, in UTC
AI tokens Tokens used in Anythink AI mode in the billing month Each billing month

The size of each quota depends on the plan the project is on, so see your plan in the portal. Open the plan card for the allowance, or compare plans with anythink plans. A plan change takes effect immediately and updates the project's quotas.

Bundles add to a quota. They're one-off extras that don't expire, bought for the billing account. A project's allowance is its plan plus any bundles.

Stay within limits#

Page through data. Ask for a larger pageSize rather than many small pages, and use page to walk the rest. From the CLI, --all walks every page for you:

bash
anythink data list tasks --json --all --limit 1000 > tasks.json

Batch writes. Use the bulk and import endpoints rather than one request per record. This keeps you under the request cap and is faster. See REST API reference and Records and views.

Read the headers. Check X-RateLimit-Remaining and slow down before it reaches zero. When you get a 429, wait retry_after seconds and retry.

Narrow queries. Filter instead of reading everything. For search, narrow with q, e or fl rather than paging past the first 1,000 results. See Filter operators.

Move heavy work into the background. A workflow runs as a background job, so a long task doesn't hold a request open. Keep steps short, split a long loop across workflows so no job runs more than 250 steps, and read more than one record in a single Read Data step. See Workflows.

Send fewer, better emails. Workflow emails count towards the daily allowance. Send one email to a person rather than one per event where you can, and keep attachments under 25 MB in total.

Keep an eye on usage. Check the project's bars in the portal before a big import or a campaign.

Add capacity without changing plan. Buy a bundle from the Bundles tab on the billing account, or Buy Capacity on a project. You need Admin or Owner access and a default payment method.

Cap extra spending. An Owner can set a Spend Cap under the account Overview. Choose Warn only to be notified and carry on, or Block charges to suspend service until the next cycle. The cap applies to usage on top of your plans.

Change plan. Move a project to a larger plan in the portal. The change is immediate. See Account, billing and projects.

Ask for higher limits#

If a project needs more than the plans offer, such as a higher request cap, more projects on a billing account or a custom arrangement, get in touch. Enterprise arrangements are agreed individually. Email support@anythink.uk with the project, the limit you're reaching and what you need.

Platform limits that are fixed, such as the 250-step cap on a workflow job, aren't changed per project.

Next steps#