postship check
Check a URL (or a project's production URL). Counts toward the quota.
Updated on 17 September 2026
On this page
The core: the same check PostShip runs after a deploy — HTTP and assets, indexability, social card, sitemap, certificate, AI visibility — with the same Ship Score. One URL, several, or a project's production URL. Exits 1 when a check fails or the score is below the threshold: that is what blocks a merge.
This command counts toward the month's check quota (one per URL). The other commands are reads, unlimited.
What PostShip does
Usage
postship check --url <https://…> [--url …] [--project <id>] [--min-score <n>] [--json] [--quiet] [--junit <fichier>] [--github-annotations]Options
| Option | What it does |
|---|---|
--url <https://…> | The address to check, public, https. Repeatable: each URL counts 1 toward the quota. |
--project <id> | Instead of --url: reads the project's production URL (one free GET /projects call) then checks it. |
--min-score <n> | Exit 1 when the Ship Score is below this threshold, even if everything passed. Also read from ./.postship.json. |
--json | The raw server response on stdout, nothing else — for jq or a script. |
--quiet | Nothing on stdout when everything passes; failures on stderr. |
--junit <fichier> | Write a JUnit report (one case per check), for GitLab's Tests tab. |
--github-annotations | One ::error annotation per failure, on the pull request. Automatic when GITHUB_ACTIONS=true; --github-annotations false turns it off. |
Examples
postship check --url https://preview-abc.vercel.app --min-score 80A pull request's preview, with a threshold.
postship check --project 3f1c… --json | jq .scoreThe project's production, the score alone.
postship check --url https://a.fr --url https://b.fr --quietTwo sites at once, silent when all is well.
Exit codes
0 everything passed and the threshold is met · 1 a check failed or the score is below the threshold · 2 token, quota (429), refused URL (400), or PostShip unreachable.
Troubleshooting
“Monthly quota reached”
The month's counter is full for your plan (30, 300, 1000 or 3000). It resets on the first of the month; reads (projects, incidents, ship, wait, gate) stay unlimited.
The score is fine but the code is 1
A check failed: the table marks it fail. Score and verdict are two different things.
See also
The postship command — every command, installation and sign-in · CI recipes — complete workflows to copy.
In the terminal, postship help check says the same; postship docs check opens this page.