---
title: "Request a re-run of a check"
method: POST
path: "/api/repos/{owner}/{repo}/check-runs/{checkRunId}/rerequest"
tags: ["CI"]
---

# Request a re-run of a check

`POST /api/repos/{owner}/{repo}/check-runs/{checkRunId}/rerequest`

## Request

- Base URL: `https://git.cafe`
- URL: `https://git.cafe/api/repos/{owner}/{repo}/check-runs/{checkRunId}/rerequest`
- Auth: one of:
  - API key in cookie `gc-session`
  - HTTP bearer
  - HTTP basic
  - HTTP token
  - OAuth 2
    - Authorization code: `/api/oauth/authorize`
    - Token URL: `/api/oauth/token` scopes: `repo:checks:write`

Asks the app that reported a completed, re-runnable check to run it again: the check reads as queued, so a required check blocks merging, and the app's installation receives `check.rerequested`, both or neither. Only people may ask; an app's bot is refused. Refused when the app could not receive the event for this repository. Repeating the request while one is outstanding changes nothing. Requires authenticated authority and enforces current resource policy.

## Path parameters

- `owner` string, required
- `repo` string, required
- `checkRunId` string, required

## Response `200`

Response for status 200

- object
  - `id` string, required
  - `key` string, required
  - `headOid` string, required
  - `name` string, required
  - `status` 'queued' | 'in_progress' | 'completed', required
  - `conclusion` 'success' | 'failure' | 'neutral' | 'cancelled' | 'skipped' | 'timed_out' | 'action_required' | 'stale' | 'startup_failure' | 'null', nullable, required
  - `detailsUrl` string, nullable, required
  - `externalId` string, nullable, required
  - `suite` string, nullable, required
  - `startedAt` string, date-time, nullable, required
  - `completedAt` string, date-time, nullable, required
  - `output` object, required
    - `title` string, nullable, required
    - `summary` string, nullable, required
    - `text` string, nullable, required
  - `annotations` object[], required
    - `path` string, required
    - `startLine` integer, required
    - `endLine` integer, required
    - `startColumn` integer, nullable, required
    - `endColumn` integer, nullable, required
    - `level` 'notice' | 'warning' | 'failure', required
    - `message` string, required
    - `title` string, nullable, required
    - `rawDetails` string, nullable, required
  - `rerequestable` boolean, required
  - `rerequestedAt` string, date-time, nullable, required
  - `deadlineAt` string, date-time, nullable, required
  - `reporterId` string, required
  - `installationId` string, nullable, required
  - `reportedAt` string, date-time, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: The request is invalid.
- `401`: Authentication is required, or the supplied credential is invalid.
- `403`: The credential does not permit this operation. A `code`, when present, names the refusal.
- `404`: The resource does not exist or is not visible to the caller.
- `409`: The request conflicts with the current state. A `code`, when present, names the refusal; `retryable` says whether the same request can succeed later, and `operationId` names the operation in the way.
- `429`: A rate limit is exhausted. Wait Retry-After seconds; the value is a hint, so back off on a repeat 429.
- `503`: A required service is temporarily unavailable; retry later.

---

[API](https://skmtc.dev/gitcafe/apis/git-cafe-api.md) - [All operations](https://skmtc.dev/gitcafe/apis/git-cafe-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitcafe/apis/git-cafe-api/revisions/9fa233d2986d?raw)
