---
updatedAt: 2026-05-11T22:22:56.000Z
agentTools:
  siteIndex: https://developer.paylocity.com/llms.txt
  projectIndex: https://developer.paylocity.com/integrations/llms.txt
---

# Upsert Screening Packages [Batch]

> 🚧 Partner Restricted
> All background check API endpoints are restricted to background check providers that have signed a Paylocity technology partnership agreement. [Please reach out to our team](https://www.paylocity.com/contact/partner-form/) if you would like to discuss partnership opportunities.

**Summary Description**

Bulk Upsert information about screening packages

**Use Cases**

- Partner wants to send over multiple screening packages for a client, can be when onboarding a new client, or can be when client adds new packages to their company 
- Partner wants to make bulk changes to screening packages to make them either active or inactive for a client 
- Partner wants to update the prices of a client’s screening packages 
- Partner wants to bulk add services to a packages 
- Partner wants to add a billing code to correlate to a specific BGC package

# OpenAPI definition

```json
{
  "openapi": "3.0.4",
  "info": {
    "title": "Background Check API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "dc1demogwext.paylocity.com"
    }
  ],
  "paths": {
    "/compliance/v1/companies/{companyId}/backgroundCheck/screeningPackages": {
      "post": {
        "tags": [
          "Screening Package"
        ],
        "summary": "Upsert Screening Packages [Batch]",
        "description": "> 🚧 Partner Restricted\n> All background check API endpoints are restricted to background check providers that have signed a Paylocity technology partnership agreement. [Please reach out to our team](https://www.paylocity.com/contact/partner-form/) if you would like to discuss partnership opportunities.\n\n**Summary Description**\n\nBulk Upsert information about screening packages\n\n**Use Cases**\n\n- Partner wants to send over multiple screening packages for a client, can be when onboarding a new client, or can be when client adds new packages to their company \n- Partner wants to make bulk changes to screening packages to make them either active or inactive for a client \n- Partner wants to update the prices of a client’s screening packages \n- Partner wants to bulk add services to a packages \n- Partner wants to add a billing code to correlate to a specific BGC package",
        "x-explorer-enabled": false,
        "operationId": "ComplianceBackgroundCheckScreeningPackagesBatchUpsert",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "The Paylocity Company Identifier. This is the unique value provided by Paylocity to each specific Payroll Entity.\n                **Allowable Values:**\n                9 char max",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "A12345"
          },
          {
            "name": "testMode",
            "in": "header",
            "description": "If true all responses are mocked and generated randomly",
            "schema": {
              "type": "boolean"
            },
            "example": false
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Authorization token. Ex. Bearer ...",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Bearer <token>"
          }
        ],
        "requestBody": {
          "description": "The Package information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreeningPackageBulkUpsertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the deatils of the Bulk upsert",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningPackageUpsertResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request Error - Returns the details of the error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "415": {
            "description": "Unsupported Media Type - Returns the details of the error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PriceDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "The value amount, or cost, for the package.",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the price.\n    **Allowable Values:**\n    USD, EUR, GBP, CAD",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object representing the price of the package."
      },
      "ScreeningPackageBulkUpsertDto": {
        "type": "object",
        "properties": {
          "packageId": {
            "type": "string",
            "description": "The Id of the Screening Package.\n    **Allowable Values:**\n    36 char max",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "A Boolean value indicating if the package is active.\n    **Allowable Values:**\n    true, false"
          },
          "packageSummary": {
            "type": "string",
            "description": "A detailed description of the background check package and what is included in the package.\n    **Allowable Values:**\n    250 char max",
            "nullable": true
          },
          "packageName": {
            "type": "string",
            "description": "The name of the specific background check package that the users will see.\n    **Allowable Values:**\n    250 char max",
            "nullable": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceDto"
            },
            "description": "An array of objects representing the underlying services that are included in the background check package.",
            "nullable": true
          },
          "price": {
            "$ref": "#/components/schemas/PriceDto"
          },
          "billingCode": {
            "type": "string",
            "description": "Partner billing code.",
            "nullable": true
          },
          "businessUnitExternalId": {
            "type": "string",
            "description": "(Optional) Business Unit ID to associate this package with a package businessUnit.\n    **Allowable Values:**\n    150 char max",
            "nullable": true
          },
          "isInternational": {
            "type": "boolean",
            "description": "Indicates whether it is international package."
          }
        },
        "additionalProperties": false,
        "description": "Screening Package information"
      },
      "ScreeningPackageBulkUpsertRequest": {
        "type": "object",
        "properties": {
          "packages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScreeningPackageBulkUpsertDto"
            },
            "description": "The list of screening packages to be upserted.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Screening Package Upsert Request."
      },
      "ScreeningPackageUpsertResponse": {
        "type": "object",
        "properties": {
          "upsertResult": {
            "$ref": "#/components/schemas/UpsertResultDto"
          }
        },
        "additionalProperties": false,
        "description": "Screening Package Upserted Response"
      },
      "ServiceDto": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string",
            "description": "The name of the specific service within a background check package that the users will see.\n    **Allowable Values:**\n    150 char max",
            "nullable": true
          },
          "serviceSummary": {
            "type": "string",
            "description": "A detailed description of the underlying service in a package.\n    **Allowable Values:**\n    250 char max",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertResultDto": {
        "type": "object",
        "properties": {
          "inserted": {
            "type": "boolean",
            "description": "True if it was inserted, false if it was updated"
          },
          "updated": {
            "type": "boolean",
            "description": "True if it was updated, false if it was inserted"
          }
        },
        "additionalProperties": false,
        "description": "Upsert response"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "CC JWT Authorization header using the bearer scheme",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ]
}
```