---
title: "Create a check run"
method: POST
path: "/v2/deployments/{deploymentId}/check-runs"
tags: ["checks-v2"]
---

# Create a check run

`POST /v2/deployments/{deploymentId}/check-runs`

Creates a new check run for a deployment.

## Path parameters

- `deploymentId` string, required

## Query parameters

- `teamId` string
- `slug` string

## Request body

- object
  - `checkId` string, required

## Response `200`

- union
  - object — Check run backed by a project-level `check` definition.
    - `id` string, required
    - `name` string, required
    - `ownerId` string, required
    - `deploymentId` string, required
    - `projectId` string
    - `requires` 'build-ready' | 'deployment-url' | 'none'
    - `blocks` 'build-start' | 'deployment-alias' | 'deployment-promotion' | 'deployment-start' | 'none'
    - `targets` string[]
    - `status` 'completed' | 'queued' | 'running', required
    - `conclusion` 'canceled' | 'failed' | 'neutral' | 'skipped' | 'succeeded' | 'timeout'
    - `conclusionText` string
    - `externalId` string
    - `externalUrl` string
    - `output` object
    - `timeout` number, required
    - `createdAt` number, required
    - `updatedAt` number, required
    - `completedAt` number
    - `checkId` string, required
    - `source` union, required
      - object
        - `kind` 'integration', required
        - `integrationId` string, required
        - `integrationConfigurationId` string, required
        - `resourceId` string
        - `externalResourceId` string
      - object
        - `kind` 'webhook', required
        - `webhookId` string
      - object
        - `kind` 'git-provider', required
        - `provider` 'bitbucket' | 'github' | 'gitlab', required
        - `externalCheckName` string, required
      - object — Native Vercel checks — check definition and check run `source`.
        - `subKind` 'vercel-native-check'
        - `origin` 'api' | 'platform'
  - object — Vercel CI check run without a parent `check` (no `checkId` field).
    - `id` string, required
    - `name` string, required
    - `ownerId` string, required
    - `deploymentId` string, required
    - `projectId` string
    - `requires` 'build-ready' | 'deployment-url' | 'none'
    - `blocks` 'build-start' | 'deployment-alias' | 'deployment-promotion' | 'deployment-start' | 'none'
    - `targets` string[]
    - `status` 'completed' | 'queued' | 'running', required
    - `conclusion` 'canceled' | 'failed' | 'neutral' | 'skipped' | 'succeeded' | 'timeout'
    - `conclusionText` string
    - `externalId` string
    - `externalUrl` string
    - `output` object
    - `timeout` number, required
    - `createdAt` number, required
    - `updatedAt` number, required
    - `completedAt` number
    - `source` union, required
      - object — Config-driven CI task — check run `source` only (no parent check).
        - `subKind` 'vercel-ci', required
        - `origin` 'config', required
        - `invocationId` string, required
        - `jobDefinitionId` string, required
      - object — CI sentinel — check run `source` only (no parent check).
        - `subKind` 'vercel-ci-sentinel', required
        - `origin` 'platform', required

## Other responses

- `400` — One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `404`
- `410`
- `500`

---

[API](https://skmtc.net/vercel/apis/api.md) · [All operations](https://skmtc.net/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/api/versions/b4d86a3e3479/schema)
