---
title: O'Reilly API Integration on Truto
slug: oreilly
category: HRIS
canonical: "https://truto.one/integrations/detail/oreilly/"
---

# O'Reilly API Integration on Truto



**Category:** HRIS  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 11 tools for O'Reilly that AI agents can call directly.

- **list_all_o_reilly_scim_resource_types** — List SCIM ResourceTypes available in O'Reilly. Returns: schemas, id, name, endpoint, description, schema, meta. No required parameters.
- **list_all_o_reilly_resource_types_users** — Get the SCIM ResourceType definition for the User resource type in O'Reilly. Returns: schemas, id, name, endpoint, description, schema, meta.
- **list_all_o_reilly_scim_schemas** — List SCIM resource schemas available in the O'Reilly SCIM API. Returns: id, name, description, attributes, meta. Each schema describes its attributes' type, mutability, required flag, and sub-attributes.
- **list_all_o_reilly_scim_users** — List SCIM users in O'Reilly. Returns: schemas, id, meta, active, name, displayName, userName, externalId, emails. Supports SCIM filter expressions on userName, name.givenName, name.familyName, id, active, and emails (primary email only).
- **create_a_o_reilly_scim_user** — Create a new SCIM user in O'Reilly. Returns the created user object including id, userName, displayName, active, externalId, name, and emails.
- **get_single_o_reilly_scim_user_by_id** — Get a single SCIM user by id in O'Reilly. Returns: schemas, id, meta, active, displayName, userName, externalId, emails, example, name. Required: id.
- **update_a_o_reilly_scim_user_by_id** — Update a provisioned O'Reilly SCIM user by replacing all attributes. You must provide the full user record as if provisioning for the first time; use PATCH for partial updates. Returns: schemas, id, meta, active, displayName, userName, externalId, emails, example, name. Required: id.
- **delete_a_o_reilly_scim_user_by_id** — Delete a provisioned O'Reilly SCIM user by id. This action is irreversible; to deactivate without removing data, use update with active set to false instead. Returns an empty 204 response on success. Required: id.
- **o_reilly_scim_users_partial_update** — Partially update an O'Reilly SCIM user's individual attributes using SCIM PATCH Operations. Returns: schemas, id, meta, active, name, displayName, userName, externalId, emails. Only add and replace operations are supported; remove is not supported. Required: id.
- **list_all_o_reilly_scim_service_provider_configs** — Retrieve the O'Reilly SCIM ServiceProviderConfig describing supported SCIM features and authentication schemes. Returns: schemas, documentationUri, patch, bulk, filter, changePassword, sort, etag, authenticationSchemes.
- **list_all_o_reilly_scim_user_schemas** — Retrieve the O'Reilly SCIM User schema definition, which describes the supported attributes for user resources including userName, externalId, active, name (familyName, givenName), and emails. Returns: id, name, description, attributes, meta.

## How it works

1. **Link your customer's O'Reilly account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach O'Reilly.** The Proxy API is a 1-to-1 mapping of the O'Reilly API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate O'Reilly license reclamation** — SaaS management platforms can flag O'Reilly seats tied to terminated or inactive employees and deactivate them programmatically, saving customers thousands in unused enterprise licenses.
- **Silent provisioning for learning platforms** — LXPs and skill development tools can pre-create O'Reilly accounts the moment a course path is assigned, so end users never hit an access error when launching content.
- **Day-one access for new engineering hires** — HR and onboarding platforms can auto-provision O'Reilly accounts for new technical hires based on role or department rules, removing IT ticket bottlenecks.
- **Offboarding and identity governance** — IGA and IT automation tools can deactivate O'Reilly users the instant an employee is offboarded in the source HRIS, closing compliance gaps around lingering technical tool access.
- **License audit and reconciliation dashboards** — Finance and IT ops platforms can pull the full list of active O'Reilly users on a schedule and reconcile against headcount data to surface waste and enforce license policies.

## What you can build

- **Automated user provisioning** — Create O'Reilly users from your product with a single call, mapping your internal user ID via SCIM externalId for reliable downstream sync.
- **Active seat reporting** — List and filter O'Reilly users by active status, userName, or email to power license utilization dashboards and cost optimization workflows.
- **Deactivate-on-offboard workflows** — Flip users to active: false via PATCH the moment an offboarding event fires, preserving learning history while freeing the paid license.
- **Profile updates on employee changes** — Push name and email changes into O'Reilly via PATCH when employees update their identity attributes in the source system of record.
- **Bulk user reconciliation jobs** — Run scheduled syncs that page through all O'Reilly users and reconcile them against your source HRIS or IdP to detect drift and orphaned accounts.
- **User lookup and detail views** — Fetch a single O'Reilly user by ID to render account status, provisioning state, and identity attributes directly inside your product's admin UI.

## FAQs

### What authentication does the O'Reilly integration use?

O'Reilly exposes a SCIM 2.0 endpoint that is typically authenticated with a bearer token issued by the customer's O'Reilly admin. Truto handles token storage and injection, so your product doesn't need to manage credentials directly.

### What operations are supported on O'Reilly users?

You can list users, create users, get a user by ID, replace a user (PUT), partially update a user (PATCH), and delete a user. Truto also exposes SCIM metadata endpoints like resource types, schemas, and service provider configs.

### Are there limitations on PATCH operations?

Yes. O'Reilly's SCIM API supports only add and replace operations for PATCH. The remove operation is not supported, so to clear an attribute you must replace it with a null or empty value.

### How should I deactivate a user versus delete them?

For most enterprise use cases, PATCH the user to set active: false. This frees the paid seat while preserving historical learning data. Use DELETE only when you need to permanently remove the record.

### What filters are supported when listing users?

O'Reilly supports SCIM filtering on userName, name, id, active, and emails (primary only). Filtering on other attributes is not guaranteed and should be avoided for reliable pagination.

### How do I map O'Reilly users back to my product's internal user IDs?

Set the SCIM externalId attribute when creating the user. This is the standard field for correlating an O'Reilly identity with the source HRIS, IdP, or SaaS platform's internal user ID.
