Rustine docs
API › Scans

Get a scan

Where a scan stands. Poll this route every 3 to 5 seconds until done or failed; a quick scan usually takes less than a minute.

GEThttps://api.rustine.io/v1/scans/{scan_id}

OAuth permission: scans:read · an API key has them all

Open in ClaudeOpen in ChatGPT

Path parameters

  • scan_idstringrequired

    Scan id.

Response

  • idstring

    Scan id.

  • objectstring
  • target_idstring

    Target scanned.

  • kindstring

    quick (what any visitor could see), audit (adds deeper read-only checks, verified sites only) or repository (analysis of a GitHub repository).

    quickauditrepository
  • statusstring

    Scans run asynchronously: poll until done or failed.

    queuedrunningdonefailed
  • scorenumber | null

    Score out of 100, once done.

  • gradestring | null

    Grade, once done.

    ABCDF
  • coveragenumber | null

    Share of the checks that could run (0 to 1), once done.

  • audit_fallbackboolean

    An audit was asked but the site's proof no longer held: a quick scan ran instead and no audit was counted.

  • reusedboolean

    True when the request got an existing scan instead of a new one (one already running, or one of the same kind in the last hour); nothing was counted.

  • next_real_scan_atstring | null

    When reused because of a recent scan: when a new scan of this kind may start.

  • created_atstring

    When the scan was requested.

  • finished_atstring | null

    When the scan finished.

Errors

Statuserror.codeWhat happens
401authentication_requiredNo key in the request. Pass it in the Authorization: Bearer rst_… header, never in the address.
401invalid_api_keyThe key or OAuth token is wrong, revoked or expired. Check it is copied in full, or create a new key.
402api_plan_requiredThe workspace is on the Free plan. The API comes with Pro, or on a 14-day trial with Solo.
402api_trial_endedSolo's 14-day trial is over. Move to Pro: your keys work again at once.
403scope_missingThe OAuth token lacks the permission this route needs (shown on its page). Reconnect the agent to grant it. An API key has every permission.
404resource_not_foundNothing with this id in the key's workspace. An object of another workspace answers the same: its existence is never revealed.
429rate_limitedToo many requests for this key (120 per minute). Wait Retry-After seconds.
500internal_errorAn error on our side, reported automatically. Retry later; give the Request-Id to support if it comes back.
503service_unavailableRustine is unavailable for a moment. Retry with the same Idempotency-Key.

↵ Enter to open, Esc to close