Source: https://sprinto-test.docs-staging.pageloop.ai/api-reference/sprinto-cookbooks/add-background-verification-report-for-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

| Argument                  | Type     | Required | Description                                         |
| ------------------------- | -------- | -------- | --------------------------------------------------- |
| `email`                   | String   | Yes      | Email address of the staff member                   |
| `verificationCompletedOn` | DateTime | Yes      | Date on which background verification was completed |
| `verificationReportFile`  | Upload   | Yes      | BGV report file to upload                           |

---

### Example mutation

#### Query

```graphql
mutation UploadBackgroundVerificationReport(
  $email: String!,
  $verificationCompletedOn: DateTime!,
  $verificationReportFile: Upload!
) {
  uploadBackgroundVerificationReport(
    email: $email,
    verificationCompletedOn: $verificationCompletedOn,
    verificationReportFile: $verificationReportFile
  ) {
    message
  }
}
```

#### Response

```json
{
  "data": {
    "uploadBackgroundVerificationReport": {
      "message": "BGV report is added for the staff"
    }
  }
}
```

**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.

![](/assets/60e9a4301940-0b47ecd-untitled.png)

---

### 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

| Field     | Type   | Description                                         |
| --------- | ------ | --------------------------------------------------- |
| `message` | String | Message indicating success or failure of the upload |

---

### Response codes and errors

The following response codes may be returned for this mutation:

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

---

### 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
