---
title: "Generate a verification report"
method: POST
path: "/report/verification"
tags: ["report"]
---

# Generate a verification report

`POST /report/verification`

Generate a verification report which can be downloaded later

## Request body

- VerificationReportRequest
  - `format` 'CSV', required
  - `startDate` string, date-time
  - `endDate` string, date-time
  - `isPiiIncluded` boolean — Optional toggle for whether or not to include PII in report. User must have appropriate permissions to request PII. If this field is omitted, PII details will only be returned if requesting user has appropriate permissions.
  - `piiReason` string — Reason for requesting PII in the report. Required if isPiiIncluded=true.
  - `verificationModeInclusion` 'ALL' | 'LIVE' | 'TEST' — Which verification modes to include in the verification report.
  - `programIds` string[] — Optional list of program ids belonging to the User's account. If provided, the report will only include verifications associated with the program ids requested.
  - `countryCodes` string[] — Optional list of country codes. If provided, the report will only include verifications from the countries requested.
  - `rewardEligibilities` RewardEligibility[] — Optional list of eligibility states. If provided, the report will only include verifications that resulted in those states requested.
  - `communities` Community[] — Optional list of affiliation types. If provided, the report will only include verifications of the affiliation types requested.
  - `metadataRowFilters` RowFilter[] — Optional list of metadata key/value pairs. If provided, the report will only include verifications with metadata that contains all of the specified key/value pairs. See [List Report Fields](#operation/listReportFields) to retrieve a list of available metadata keys.
    - `field` string
    - `value` string
  - `standardFields` string[] — The list of standard field names to include in the report. See [List Report Fields](#operation/listReportFields) to retrieve a list of available fields.
  - `personFields` string[] — The list of person data field names to include in the report. See [List Report Fields](#operation/listReportFields) to retrieve a list of available fields.
  - `metadataFields` string[] — The list of metadata field names to include in the report. See [List Report Fields](#operation/listReportFields) to retrieve a list of available fields.

## Response `202`

Accepted

- ReportStatusResponse
  - `id` string
  - `status` 'PENDING' | 'COMPLETE' | 'ERROR' | 'DELETED'
  - `statusUrl` string, uri
  - `retrievalUrl` string, uri, nullable — The URL to download the completed report from. The value is `null` until the status of the report becomes `COMPLETE`.
  - `requester` string
  - `created` integer

## Other responses

- `401` — Unauthorized
- `429` — Too many requests. A `429` can mean one of two things — inspect the response body's `errorIds` before retrying: - A transient rate limit applied at the platform edge. If a `Retry-After` header is present, wait that many seconds (using exponential backoff) and retry. - A program/consumer limit such as `verificationLimitExceeded`, `reverificationDailyLimitExceeded`, or `docReviewLimitExceeded` — the consumer has exhausted an allowance defined by the program's limiting policy. This is a permanent rejection (`currentStep: error`, no `Retry-After`); do not retry.
- `500` — Internal server error.
- `503` — Service temporarily unavailable. The request can be safely retried after the interval given in the `Retry-After` header.

---

[API](https://skmtc.dev/sheerid/apis/sheerid-api.md) · [All operations](https://skmtc.dev/sheerid/apis/sheerid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sheerid/sheerid-api/revisions/dc7f4e84f543/schema)
