⌘K

Limits and errors

The upload limit, file size, credits, and what each status code means.

Overview

The API has a few limits, set so one busy integration can't crowd out everyone else. This page lists them, then every status code the API sends back and what to do about each one.

When a request fails, the Msg field in the response says why in plain words. Log it: it is usually the quickest way to the fix.

Limits

LimitAmount
Uploads100 per organisation in any 24 hours
File size512MB per upload
Columns300 per file
File typeCSV only
API keys2 per person in each organisation
Credits1 per upload. A new table needs at least one credit left.
TablesYour plan sets how many files your organisation can hold.

The upload limit is shared. Every key in your organisation counts towards the same 100. Only uploads that succeed count.

The window rolls. It isn't reset at midnight. Each upload counts for 24 hours from when it was made, then frees its slot. If you hit the limit, the next slot opens 24 hours after your oldest upload in the window.

Listing, fetching and deleting tables don't count towards the upload limit, and don't use credits.

Status codes

CodeMeaningWhat to do
200It worked.Nothing.
400Something in the request is missing or wrong: no ProjectID, an empty file, a file that isn't a CSV, or a file not marked as text/csv.Check the fields and the file against Import data.
401The X-API-Key header is missing, the key is wrong, or the key has been turned off.Check the header, and that the key is Active in Settings, under API Access.
403The key works, but its owner isn't allowed to do this. They can't reach that department, can't add or remove data in it, or can't see that table.Ask an admin to check the key owner's access to the department.
404The department or the table doesn't exist in this organisation.Check the ProjectID and CardID.
409The request clashes with the table's or the organisation's current state. The table is still being read, it comes from a connected system (when deleting), the organisation has run out of credits, or it holds as many files as its plan allows.If a table is being read, wait and try again. For credits or the plan's file limit, talk to your admin.
413The file is over 512MB.Split the file, or send only the rows that changed.
422Mira couldn't read the file. It has no headings, a heading Mira can't use, or more than 300 columns.Fix the first row of the file, or split it into narrower files.
429Your organisation has used its 100 uploads for the last 24 hours.Wait for a slot to free up, then try again.
500Something went wrong on Mira's side.Try again later. If it keeps happening, contact support.

Retrying

It is safe to retry a 429, a 500, or a 409 for a table that is still being read. Wait between tries, and wait longer each time.

Don't retry a 400, 401, 403, 404, 413 or 422 unchanged. The same request gets the same answer until you fix it.