Source: https://atomic-works-test.docs-staging.pageloop.ai/api-reference/sprinto-cookbooks/add-background-verification-report-for-staff-member

# Add Background Verification Report For Staff Member

---
description: >-
  Use the Sprinto Developer API to upload a background verification (BGV) report
  for an in-scope staff member.
---

# Add background verification report for staff member

This cookbook explains how to upload a **background verification (BGV) report** for a staff member using the Sprinto Developer API.

Uploading a BGV report is mandatory for in-scope staff members to meet people-management and compliance requirements in Sprinto.

This operation is performed using a GraphQL **mutation**.

***

### Before you begin

Ensure that you have:

* A valid **API key**
* Access to the Sprinto API Playground (if using the playground)
* The **email address** of the staff member
* The **BGV report file**
* The **verification completion date**

The staff member must be **active** and **in-scope**. If these conditions are not met, the API returns an error.

***

### API status

The Sprinto Developer API is currently in beta.

* Endpoints and schema fields may change as new functionality is introduced.

***

### Mutation: `uploadBackgroundVerificationReport`

This mutation uploads a BGV report for a staff member and records the date on which verification was completed.

#### Input arguments

<table><thead><tr><th width="230.6328125">Argument</th><th width="111.74609375">Type</th><th width="115.57421875">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>email</code></td><td>String</td><td>Yes</td><td>Email address of the staff member</td></tr><tr><td><code>verificationCompletedOn</code></td><td>DateTime</td><td>Yes</td><td>Date on which background verification was completed</td></tr><tr><td><code>verificationReportFile</code></td><td>Upload</td><td>Yes</td><td>BGV report file to upload</td></tr></tbody></table>

***

### Example mutation

{% tabs %}
{% tab title="Query" %}
```graphql
mutation UploadBackgroundVerificationReport(
  $email: String!,
  $verificationCompletedOn: DateTime!,
  $verificationReportFile: Upload!
) {
  uploadBackgroundVerificationReport(
    email: $email,
    verificationCompletedOn: $verificationCompletedOn,
    verificationReportFile: $verificationReportFile
  ) {
    message
  }
}
```
{% endtab %}

{% tab title="Response" %}
```json
{
  "data": {
    "uploadBackgroundVerificationReport": {
      "message": "BGV report is added for the staff"
    }
  }
}
```
{% endtab %}
{% endtabs %}

**Try yourself**: [United States](https://app.sprinto.com/dev-api/explorer): [Europe](https://eu.sprinto.com/dev-api/explorer): [India](https://in.sprinto.com/dev-api/explorer)

***

### Uploading files in the API Playground

When using the Sprinto API Playground:

1. In the **Variables** section, add the key `verificationReportFile`.
2. Select **Choose files** and attach the BGV report.
3. Ensure the file key matches the mutation argument name exactly.

<figure><img src="../../.gitbook/assets/0b47ecd-Untitled.png" alt="" width="563"><figcaption></figcaption></figure>

***

### Supported file formats

The following file formats are supported for BGV uploads:

* `.text`, `.txt`
* `.doc`, `.docx`, `.dotx`, `.odt`
* `.pdf`
* `.zip`
* `.xls`, `.xlsx`

Uploading unsupported file formats results in an error.

***

### Response fields

<table><thead><tr><th width="100.68359375">Field</th><th width="99.49609375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>message</code></td><td>String</td><td>Message indicating success or failure of the upload</td></tr></tbody></table>

***

### Response codes and errors

The following response codes may be returned for this mutation:

<table><thead><tr><th width="125.52734375">Status code</th><th width="180.03515625">Status</th><th>Message</th><th>Reason</th></tr></thead><tbody><tr><td>200</td><td>Success</td><td>BGV report is added for the staff.</td><td>The report was uploaded successfully.</td></tr><tr><td>200</td><td>Error</td><td>Invalid email address or a non-staff account.</td><td>The email does not belong to a valid staff account or is marked as non-staff.</td></tr><tr><td>200</td><td>Error</td><td>Offboarded staff.</td><td>The staff member must be active to upload a BGV report.</td></tr><tr><td>200</td><td>Error</td><td>Staff not in scope.</td><td>Only in-scope staff members can have BGV reports uploaded.</td></tr><tr><td>200</td><td>Error</td><td>Unable to upload this file format.</td><td>The uploaded file format is not supported.</td></tr><tr><td>401</td><td>Unauthorized</td><td>Invalid API token.</td><td>The API key is invalid or revoked.</td></tr><tr><td>429</td><td>Too many requests</td><td>Too many requests. Please try again later.</td><td>The API rate limit has been exceeded.</td></tr></tbody></table>

***

### Next steps

After uploading a BGV report, you can:

* Verify staff compliance status using queries
* Upload additional evidence for workflow checks
* Automate BGV uploads as part of onboarding workflows
