Create Training Content [Batch]

🚧

Partner Restricted

All LMS API endpoints are restricted to LMS providers that have signed a Paylocity technology partnership agreement.
Please reach out to our team if you would like to discuss partnership opportunities.

Summary Description

Creates a bulk upload request for multiple training content items and returns a pre-signed upload URL for a single ZIP payload.

Workflow

  1. POST metadata for all content items and the ZIP file details.
  2. Receive bulkUploadId + uploadUrl + expiration timestamp.
  3. Upload the ZIP file with the returned HTTP method (typically PUT).
  4. Poll the status endpoint using bulkUploadId until a terminal status is returned.

Use Cases

  • Partner wants to upload multiple training courses in a single operation.
  • Partner needs to efficiently add a library of content to their LMS catalog.

Validation Rules

  • contentItems is required and must contain between 1 and 100 items
  • Each contentItem must follow the same validation rules as single content upload
  • zipFileDetails is required
  • zipFileDetails.contentType must be application/zip
  • zipFileDetails.length must be greater than 0 and less than or equal to 2 GB (2147483648 bytes)
  • contentItems[].training is optional; when provided, the name field is required and the description field is optional. Supplying the training object places the content in the On-Demand Trainings area of LMS. If the training object is omitted, the content is stored in the Company Content Library.

Test Mode

When testMode=true, the endpoint returns a mocked accepted response and does not create a persistent bulk upload record.

Path Params
string
required

The Paylocity Company Identifier. Unique value provided by Paylocity.
Allowable Values: 9 char max.

Body Params

The bulk upload request containing metadata for all content items.

Request DTO for bulk upload of training content items.

contentItems
array of objects
required
length between 1 and 100

Gets or sets the list of media content items to be uploaded. Required. Min 1, Max 100 items per bulk upload.

contentItems*
string | null

Title of the media content. Required. Max length 255. Validation: Must not be null or empty, max length 255.

string | null

Description of the media content. Optional. Max length 2000. Validation: If provided, max length 2000.

string
enum

Content type of the media content. Required. Allowed values: File, Url, SCORM, Video. Validation: Must be one of the allowed values.

string | null

If externally hosted, the URL to access the content. Required if ContentType is Url. Max length 2000. Validation: Required if ContentType is Url, must be a valid URL, max length 2000.

fileDetails
object
training
object

Optional training metadata determines content placement. Providing it places the content in the LMS On-Demand Trainings area; omitting it keeps the content in the company content library.

string | null

Optional: Identifies content as part of a specific feature pack

zipFileDetails
object
required
Headers
boolean

If true, responses are mocked and generated randomly.

string
enum
Defaults to application/json-patch+json

Generated from available request content types

Allowed:
Responses

Language
LoadingLoading…
Response
Choose an example:
application/json