Skip to main content
Every failed request to the Square Cloud API answers with an HTTP status and a JSON body that carries a machine-readable code. This page lists every code, grouped by area. Each endpoint page also lists the codes that endpoint returns most often.
Blob Storage has its own list of codes, and the AI Gateway answers in the OpenAI error format with lowercase codes. Neither is covered here.

Error format

The list of codes grows over time. Treat a code you don’t know as a generic failure of the HTTP status it came with: fix the request on a 4xx, wait on a 429, and retry later on a 5xx.

Retries

The API sends no Retry-After header, so the decision is yours. A safe policy: 202 SNAPSHOT_PROCESSING keeps the error envelope for compatibility, but it is not a failure: the snapshot is still being generated and shows up in the listing on its own. Don’t request it again.

Rate limits

Two codes answer 429, and they mean different things:
  • RATE_LIMITED: the request budget of your account or API key, counted per 60 seconds and set by your plan (see the per-plan values). Past it, the API refuses your requests for up to 30 minutes. A few endpoints also answer RATE_LIMITED for their own limits, and an IP address that keeps sending API keys that belong to no account is blocked for a short period.
  • KEEP_CALM: one endpoint’s own limit, such as one restart every few seconds. Wait a moment and try again. The limit of each endpoint is on its page.

Authentication and permissions

Request validation

Quotas and connection limits

Applications

Upload and commit

Zip and configuration checks

When you upload an application, the server that will run it checks the zip and its configuration file (squarecloud.app or squarecloud.config). A failed check answers 400 with one of these codes, and nothing is deployed. Fix the zip and upload it again. A commit doesn’t read the configuration file: it can only fail with FAILED_EXTRACT or CONTAINER_INSUFFICIENT_DISK_SPACE from this list.

Environment variables

Files

Deploys and GitHub

A failed Git deploy is not an HTTP error: it shows up in the deploy history as an event with state: "error" and a code such as DEPLOY_FAILED.

Network and domains

Snapshots

Databases

Workspaces

Platform

The AI_* codes (AI_DAILY_LIMIT_REACHED, AI_NO_PLAN_LIMIT_REACHED, AI_MAX_CONCURRENT_STREAMS, AI_UNAVAILABLE) belong to the dashboard’s AI assistant, which needs a dashboard session. An API key never receives them.