Skip to content
Esc
  • Type what you're looking for in your own words: “Slack”, “503”, “price”.

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

OptionWhat 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.
--jsonThe raw server response on stdout, nothing else — for jq or a script.
--quietNothing on stdout when everything passes; failures on stderr.
--junit <fichier>Write a JUnit report (one case per check), for GitLab's Tests tab.
--github-annotationsOne ::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 80

A pull request's preview, with a threshold.

postship check --project 3f1c… --json | jq .score

The project's production, the score alone.

postship check --url https://a.fr --url https://b.fr --quiet

Two 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.

postship check — Docs — PostShip