# Developer Docs Documentation > The Developer Docs is where you'll find comprehensive guides and documentation to help you start working with Bob as quickly as possible. Fetch the complete documentation index at: https://apidocs.hibob.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version. ## API Reference: Bob Learning API - [Provider integrations](https://apidocs.hibob.com/reference/provider-integrations.md): Use the Bob Learning API to add course providers and training content - [Create integration](https://apidocs.hibob.com/reference/post_learning-lms-integrations.md): Registers a new LMS integration for the company. Once created, use the `providerIdentifier` as the `provider-identifier` path parameter to push training content and submit learner progress. **Before using this endpoint:** **Testing notes:** Open the **Examples** panel and select a **Request Example** to inspect the body parameters. - [Delete integration (soft delete)](https://apidocs.hibob.com/reference/delete_learning-lms-integrations-provider-identifier.md): Removes the LMS integration for the given provider. The integration is soft-deleted — the record is marked as inactive rather than permanently removed. Returns `404` if the integration does not exist or the LMS feature is not enabled for the company. - [Create training content (bulk insert)](https://apidocs.hibob.com/reference/post_learning-lms-integrations-provider-identifier-training-content.md): 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:** **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. - [Update training content (bulk patch)](https://apidocs.hibob.com/reference/patch_learning-lms-integrations-provider-identifier-training-content.md): Updates one or more existing training content items. Only the fields you include in the request are changed — fields you omit remain as they are. Use `/trainingContent/externalIdentifier` in each item to identify which content row to update. Returns `200 OK` with a `success` array of updated identifiers and an `errors` array for any items that could not be found. **Before using this endpoint:** **Testing notes:** Open the **Examples** panel and select a **Request Example** to inspect the body parameters. - [Archive training content (bulk)](https://apidocs.hibob.com/reference/patch_learning-lms-integrations-provider-identifier-training-content-archive.md): Marks one or more training content items as archived. Archived items are hidden from learners but the records are not permanently deleted. Returns `200 OK` with a `success` array of archived identifiers and an `errors` array for any identifiers that could not be found. **Before using this endpoint:** **Testing notes:** Open the **Examples** panel and select a **Request Example** to inspect the body parameters. - [Submit xAPI statement](https://apidocs.hibob.com/reference/post_learning-lms-integrations-provider-identifier-xapi-statements.md): Submits a single xAPI statement to record learner progress for a course. On success, returns `200 OK` with `accepted: true` and the echoed `statementId`. Submitting the same statement `id` (UUID) more than once returns `409 Conflict`. Statements with an unrecognised verb are silently ignored and return `204 No Content` with no body. **Before using this endpoint:** **Testing notes:** Open the **Examples** panel and select a **Request Example** to inspect the body parameters. Supported xAPI verbs include `completed`, `passed`, and `failed`. The `result` object is optional but recommended.