Create training content (bulk insert)

Creates one or more training content items for the integration in a single request (up to 500 items per call).

Each item requires a unique /trainingContent/externalIdentifier and a /trainingContent/title. All other fields are optional. If the same externalIdentifier appears more than once in a request, only the last occurrence is used.

Returns 200 OK with a success array of processed identifiers and an errors array for any items that failed. Returns 403 with no body if the LMS feature is disabled for the company.

Before using this endpoint:

  • Create an integration first using Create integration — the `provider-identifier` path parameter must match an active integration.
  • Each item must include `/trainingContent/externalIdentifier` (unique per provider) and `/trainingContent/title`. All other fields are optional.
  • The `externalIdentifier` is your stable, idempotency key for the content row — use the same value to update or archive the item later.

Testing notes: Open the Examples panel and select a Request Example to inspect the body parameters. The response body contains a success array of processed identifiers and an errors array for any failures.

Path Params
string
required

The provider identifier of the LMS integration (same value used when creating the integration).

Body Params

Bulk training content write request. Each element of items is a JSON object whose keys are field IDs under /trainingContent/.

items
array of objects
required
length ≥ 1

Content rows. Maximum count is enforced by the service (default 500).

items*

One training content row. Use /trainingContent/externalIdentifier and /trainingContent/title for create; both are required and non-blank after mapping. Optional fields mirror PartnerContent in the service.

string

External idempotency key for the content row.

string

Title of the training content.

string

Description text.

string

URL to the content at the provider.

string

Thumbnail image URL.

integer

Duration in seconds.

string

Language code for the training content. To obtain the available language codes, call the Get all company lists Metadata API with languages in the listname path parameter.

string

Optional. The category label (display name) to assign to the training content. If the name matches an existing entry in the Bob's categories list, that category is used. If no match is found, a new category is created automatically. To view existing categories, call the Get all company lists Metadata API with trainingContentCategories in the listname path parameter.

string

Learning goals or outcomes text.

string

Publish date-time (ISO-8601 string as accepted by the mapper).

string

The time the content was last updated on the provider's side (ISO-8601 date-time string). Used for delta sync scenarios to determine whether a content item has changed since the last sync.

string

Free-text description of the intended audience (for example, "All employees" or "Managers").

Responses

403

Forbidden — feature disabled or missing permissions

Language
Credentials
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json