{"release": "0.2.0", "limits": [{"key": "upload_mb", "label": "Size of each uploaded file", "group": "Uploads", "current": "400 MB", "applies": "Each file uploaded to Budgets, Claims or Monthly reports, and a calculation job's .zip (pages and API).", "over": "The upload is refused, naming the file and its size. Split a table into parts (Measure_1.csv, Measure_2.csv) across files.", "coming": []}, {"key": "upload_files", "label": "Files in one filing upload", "group": "Uploads", "current": "20 files", "applies": "One upload to Budgets, Claims or Monthly reports (joined into one filing), and the files on one comment on a filing.", "over": "The upload is refused. Put more tables in a .zip.", "coming": []}, {"key": "correction_rows", "label": "Records in one partial correction", "group": "Uploads", "current": "5,000 records", "applies": "A partial correction of a draft filing's records (only the changed and new records, and the ones it deletes).", "over": "The correction is refused before anything changes. Upload the whole corrected file instead.", "coming": []}, {"key": "correction_list", "label": "Records listed on a correction page", "group": "Uploads", "current": "200 records", "applies": "The records a search on Correct records lists, and the changes a partial correction's preview lists.", "over": "The rest are counted: narrow the search, or download a preview's every change as CSV.", "coming": []}, {"key": "document_mb", "label": "Size of each document file", "group": "Uploads", "current": "200 MB", "applies": "A document version's main file and each attachment, and each file attached to a comment on a filing.", "over": "The file is refused.", "coming": []}, {"key": "comment_chars", "label": "Length of a comment on a filing", "group": "Uploads", "current": "4,000 characters", "applies": "One comment on a budget filing, monthly report or claims version.", "over": "The comment is refused. Post it in parts.", "coming": []}, {"key": "feedback_chars", "label": "Length of a feedback message", "group": "Uploads", "current": "4,000 characters", "applies": "One message sent from a page's Feedback link.", "over": "The message is refused. Send it in parts.", "coming": []}, {"key": "feedback_per_hour", "label": "Feedback messages one person sends an hour", "group": "Uploads", "current": "10 messages", "applies": "Messages sent from the Feedback link by one account, or from one address while signed out.", "over": "The message is refused until the hour has passed.", "coming": []}, {"key": "load_shape_mb", "label": "Size of a load shape upload", "group": "Uploads", "current": "50 MB", "applies": "A measure package's load shapes (CSV, or a ZIP holding one), in Impact profiles.", "over": "The upload is rejected with finding LS-F02.", "coming": []}, {"key": "load_shape_unzipped_mb", "label": "Size of the CSV inside a load shape ZIP", "group": "Uploads", "current": "1,024 MB", "applies": "The CSV file inside a zipped load shape upload.", "over": "The upload is rejected with finding LS-F02.", "coming": []}, {"key": "custom_profile_mb", "label": "Size of a custom impact profile file", "group": "Uploads", "current": "20 MB", "applies": "A PA's own impact profile, in Impact profiles.", "over": "The file is rejected with finding LS-F02.", "coming": []}, {"key": "run_records", "label": "Measures in one calculation run", "group": "Calculations", "current": "2,000,000 measures", "applies": "Every run: New run, the API, and the runs that price budget filings, claims and monthly reports.", "over": "The run is refused before pricing (too_many_records). Split the job.", "coming": []}, {"key": "small_run_records", "label": "Measures in a run on the faster queue", "group": "Calculations", "current": "50,000 measures", "applies": "Runs up to this size go to the small-runs queue, so they do not wait behind large ones.", "over": "Nothing is refused: a larger run takes the large-runs queue.", "coming": []}, {"key": "edit_rows", "label": "Measures in Edit inputs", "group": "Calculations", "current": "500 measures", "applies": "A job's tables edited row by row on the Edit inputs pages.", "over": "Edit inputs is not offered; edit larger jobs offline and upload them.", "coming": []}, {"key": "etrm_packages", "label": "eTRM packages listed per search", "group": "Calculations", "current": "300 packages", "applies": "The measure packages Add a measure from eTRM lists for one search (Edit inputs).", "over": "The first ones are listed and the page says there are more: narrow the search.", "coming": []}, {"key": "download_rows", "label": "Rows in a download made while you wait", "group": "Downloads", "current": "200,000 rows", "applies": "Dashboard and record downloads.", "over": "Nothing is refused: a larger download is made in the background and listed under your downloads (signed in).", "coming": []}, {"key": "download_jobs", "label": "Background downloads waiting at once", "group": "Downloads", "current": "3 per person", "applies": "Downloads too large to make while you wait.", "over": "Another request waits until one of yours is made.", "coming": []}, {"key": "saved_views", "label": "Saved views one person keeps", "group": "Downloads", "current": "200 views", "applies": "Views saved from the dashboard pages and the records page.", "over": "Saving another is refused until you delete one under Saved views.", "coming": []}, {"key": "saved_view_shares", "label": "People one saved view is shared with by name", "group": "Downloads", "current": "50 people", "applies": "Sharing a saved view by email address. Sharing with an organization's members has no limit.", "over": "Sharing with one more person is refused; share the view with your organization instead.", "coming": []}, {"key": "api_rate_user", "label": "API calls with a token", "group": "The API and signing in", "current": "120 calls a minute", "applies": "Every call made with any of one person's tokens, or from their signed-in pages' scripts, counted together.", "over": "The call gets 429 Too Many Requests with a Retry-After header in seconds.", "coming": []}, {"key": "api_rate_anon", "label": "API calls without a token", "group": "The API and signing in", "current": "30 calls a minute", "applies": "Calls with no token, counted per address.", "over": "The call gets 429 Too Many Requests with a Retry-After header in seconds.", "coming": []}, {"key": "api_data_rows", "label": "Rows in one page of the data API", "group": "The API and signing in", "current": "1,000 rows", "applies": "Aggregated queries and record reads at /api/v1/data (each page; the next page is linked).", "over": "The call gets 400 Bad Request. Ask for fewer rows with limit and read the next page.", "coming": []}, {"key": "api_token_days", "label": "Longest an API token lasts", "group": "The API and signing in", "current": "365 days", "applies": "A token made on your account page.", "over": "The token stops working; make a new one.", "coming": []}]}