---
title: Humand API Integration on Truto
slug: humand
category: HRIS
canonical: "https://truto.one/integrations/detail/humand/"
---

# Humand API Integration on Truto



**Category:** HRIS  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 105 tools for Humand that AI agents can call directly.

- **list_all_humand_exchanges** — Get all exchanges in Humand. Returns: id, status, statusColor, cost, productId, product, userEmployeeInternalId, createdAt.
- **create_a_humand_product** — Create a product in Humand. Returns: id, name, cost, coverPicture, description, category, attachments. Required: name, cost, coverPicture.
- **update_a_humand_product_by_id** — Edit a Humand product by id. Returns the updated product object including its id. Required: id.
- **delete_a_humand_product_by_id** — Delete a Humand product by id. Returns an empty 204 response on success. Required: id.
- **list_all_humand_users** — List Humand users with support for searching and pagination. Returns: id, employeeInternalId, status.
- **create_a_humand_user** — Create user in Humand. Returns: id, createdAt, updatedAt, deleted, status, segmentation, relationships, fields. Required: password, employeeInternalId, firstName, lastName.
- **humand_users_upsert** — Upsert user in Humand. Returns: id, createdAt, updatedAt, deleted, status, segmentation, relationships, fields. Required: password, employeeInternalId, firstName, lastName.
- **humand_users_get_me** — Get user profile in Humand. Returns: id, createdAt, updatedAt, deleted, status, segmentation, relationships, fields. Get the basic information of the logged user.
- **humand_users_upsert_alt** — Upsert a user in Humand — update an existing user or create a new one if it does not exist. Returns the created or updated user object. Relationships use merge-by-type semantics: sending BOSS entries (or []) updates or clears org-chart bosses and reviewer; sending only REVIEWER entries leaves existing bosses untouched. Set employeeInternalId to null to remove that relationship type. A user cannot…
- **humand_users_deactivate** — Deactivate a Humand user by their employee internal id. Returns an empty 204 response on success. Required: employee_internal_id.
- **humand_users_reactivate** — Reactivate a deactivated Humand user by their employee internal id. Returns an empty 204 response on success. Required: employee_internal_id.
- **humand_users_reset_password** — Reset the password for a Humand user identified by their internal employee id. Returns an empty 204 response on success. Required: employee_internal_id.
- **humand_users_add_segmentations** — Add segmentations to a Humand user by employee internal id. Returns the updated user object including employeeInternalId, status, and segmentations. Required: employee_internal_id, segmentations.
- **get_single_humand_user_by_id** — Get a single Humand user by employee internal id. Returns the full User object including employeeInternalId, relationships, and segmentations. Required: id.
- **update_a_humand_user_by_id** — Partially update user in Humand. Returns: id, createdAt, updatedAt, deleted, status, segmentation, relationships, fields. Update an existing user.
- **delete_a_humand_user_by_id** — Delete a Humand user by id. Returns an empty 204 response on success. Required: id.
- **humand_users_delete_alt** — Delete a Humand user by employee internal id using the POST-based delete endpoint. Returns an empty 204 response on success. Required: employee_internal_id.
- **humand_users_update_profile_fields** — Update user profile fields in Humand. Returns: id, createdAt, updatedAt, deleted, status, segmentation, relationships, fields. Required: employee_internal_id.
- **humand_users_update_profile_picture** — Upload a profile picture for a Humand user identified by their employee internal id. The request body is multipart form data containing the image file. Returns an empty 201 response on success. Required: employee_internal_id.
- **humand_users_bulk_update** — Update segmentations for a Humand user by employee internal id. Removes previous segmentations belonging to the specified groups and adds the requested segmentations. Returns the updated user object including employeeInternalId. Required: employee_internal_id.
- **create_a_humand_document** — Add document for user in Humand. Returns: id, name, source, createdAt, signatureStatus, signatureCoordinates, extension, folderId. Required: employee_internal_id, file. Adds a document whose owner is employeeInternalId.
- **create_a_humand_post** — Create post in Humand. Returns: id, body, updatedAt, createdAt, poll, commentCount, attachments, user. Creates a new post given the params.
- **list_all_humand_segmentations** — Get segmentations in Humand. Returns: id, name, items, isEditable, visibility, position. Get all segmentations with items.
- **humand_segmentations_create_group** — Create a new segmentation group in Humand. Returns the created group including its name, items, and visibility.
- **humand_segmentations_add_items_to_group** — Add items to a segmentation group in Humand by group name. Returns the updated segmentation group object including its name, items, and visibility. Required: group_name.
- **humand_segmentations_list_users** — Get users of segmentation items in Humand. Returns: items. Required: segmentationItemIds. Get users of segmentation items.
- **humand_segmentations_bulk_update** — Update segmentation group in Humand. Returns: id, name, items, isEditable, visibility, position, sharedId. Required: group_name, name, itemNames. Update a segmentation group.
- **humand_files_generate_signed_url** — Generate a signed url in Humand. Returns: url, creationUrl. Required: type, fileName, contentType.
- **humand_files_generate_signed_url_temporal** — Generate a signed url for a temporal file upload in Humand. Returns: bucketUrl, key, policy, Content-Type, x-amz-algorithm, x-amz-date, x-amz-signature. Required: type, fileName, contentType.
- **create_a_humand_file** — Create file in Humand. Returns: id, name, type, source, createdAt, updatedAt, uploader, shared. Required: file. Creates a file.
- **humand_files_create_folder** — Create a folder in Humand. Returns the created folder object including its id and name. Required: name.
- **delete_a_humand_file_by_id** — Delete a file in Humand by id. Returns an empty 204 response on success. Required: id.
- **update_a_humand_file_by_id** — Update a file in Humand by id. Returns an empty 202 Accepted response on success. Required: id.
- **list_all_humand_acknowledgements** — List acknowledgements in Humand. Returns: id, body, points, acknowledger, acknowledged, category, updatedAt, createdAt. List acknowledgements with pagination and sorting.
- **create_a_humand_acknowledgement** — Create an acknowledgement in Humand. Returns the created acknowledgement including its id, category, and created_at.
- **humand_acknowledgements_adjust_points** — Adjust a user's acknowledgement points in Humand. Returns an empty 204 response on success.
- **create_a_humand_article** — Create a new article in Humand. Returns: id.
- **update_a_humand_article_by_id** — Update an existing article in Humand by id. Returns: id. Required: id.
- **delete_a_humand_article_by_id** — Delete an article in Humand by id. Returns an empty 204 response on success. Required: id.
- **humand_forms_get_answers** — Get all answers submitted for a Humand form, including user answers. Returns a paginated list of form answer records with id, created_at, and answers. Required: form_id.
- **humand_time_off_list_balances** — List time off balances for employees in Humand. Returns: id.
- **humand_time_off_list_balances_by_cycle** — List time off balances grouped by accrual cycle for employees in Humand. Returns: id.
- **humand_time_off_list_requests** — List time off requests submitted by employees in Humand. Returns: id.
- **humand_time_off_correct_balances** — Manually correct or overwrite time off balances for a specific policy type in Humand. Required: policy_type_id.
- **humand_time_off_update_request_dates** — Update the dates of an existing time off request in Humand. Returns the updated time off request including its id, state, and dates. Required: request_id.
- **humand_time_off_bulk_create_requests** — Bulk-create time off requests for a specific policy in Humand. Returns a job accepted response for tracking the asynchronous bulk creation via the Get Bulk Time Off Requests Creation Job endpoint. Required: policy_id.
- **humand_time_off_get_bulk_request_job** — Get the status of a bulk time off requests creation job in Humand by bulk_id. Returns: bulk_id. Required: bulk_id.
- **humand_time_off_bulk_update** — Update Time Off Request State in Humand. Returns no content on success. Required: request_id. Update the state of a Time Off Request.
- **humand_groups_create_post** — Create a post in a Humand group. Returns the created group post object. Required: group_id.
- **humand_time_tracking_list_day_summaries** — List time tracking day summaries in Humand. Returns a paginated collection of per-day summary records, each containing date, hours (worked, expected, and categorized), time off, holiday, and time slot information.
- **humand_time_tracking_list_entries** — List time tracking entries in Humand. Returns a paginated collection of time tracking entries including entry details, site, and location information.
- **humand_time_tracking_clock_in** — Clock in an employee in Humand to start a new time tracking entry. Returns the created time tracking entry object.
- **humand_time_tracking_clock_out** — Clock out of an active time tracking entry in Humand, ending the employee's current work session. Returns the updated time tracking entry object.
- **humand_time_tracking_create_paired_entries** — Create paired time-tracking entries (clock-in and clock-out together) in Humand. Returns the created paired entries. Required: a request body containing the paired entry inputs to create.
- **humand_shifts_bulk_create** — Bulk create or update shifts for multiple employees in Humand. Accepts a list of employee shift assignments, each with per-day entries specifying the shift to assign. Returns a bulk process result indicating the outcome for each assignment.
- **humand_shifts_get_calendar** — Get the shift calendar in Humand, returning a paginated list of assigned shifts for employees. Returns a paginated list of assigned shift entries, each containing shift assignment details.
- **humand_shifts_get_planning** — Get the shift planning calendar in Humand, returning paginated planning day records (PublicApiPlanningDay). Each day entry contains scheduled shift and time-slot information for employees. Results are returned via the `data` field as a paginated list (PaginatedPlanningDayList).
- **humand_shifts_list_templates** — Get shift templates in Humand. Returns: count, page, totalPages, limit, items. Required: page, limit. Returns a paginated list of shift templates for the community.
- **humand_work_schedules_bulk_create_assignments** — Bulk assign work schedules to employees in Humand. Returns a bulk result summarizing the processed assignments. Requires a request body containing the list of work schedule assignments to create.
- **list_all_humand_job_positions** — List job positions in Humand. Returns: id.
- **humand_job_positions_bulk_create** — Bulk create job positions in Humand by submitting an array of position records in a single request. Returns the created job positions including id, name, and externalReference. Required: an array of job position items in the request body.
- **get_single_humand_job_position_by_id** — Get a single Humand job position by its id. Returns the job position object including its id. Required: id.
- **update_a_humand_job_position_by_id** — Update a job position in Humand by id. Returns the updated job position object including its id. Required: id.
- **delete_a_humand_job_position_by_id** — Delete a Humand job position by id. Returns an empty 204 response on success. Required: id.
- **humand_job_positions_list_members** — List members of a specific Humand job position. Returns a paginated list of job position members, each including employeeInternalId and member details. Required: job_position_id.
- **humand_job_positions_add_members** — Add members to a job position in Humand. Returns an empty 204 response on success. Required: job_position_id.
- **humand_job_positions_remove_members** — Remove members from a job position in Humand. Returns an empty 204 response on success. Required: job_position_id.
- **humand_job_positions_bulk_update** — Update user job position in Humand. Returns no content on success. Required: member_id. Update a user's job position assignment.
- **list_all_humand_departments** — List departments in Humand. Returns: id, name, createdAt, updatedAt.
- **humand_departments_bulk_create** — Bulk create multiple departments in Humand in a single request by submitting an array of department definitions. Returns the created department objects including id, name, created_at, and updated_at.
- **get_single_humand_department_by_id** — Get a single department by id in Humand. Returns the department object including its id. Required: id.
- **update_a_humand_department_by_id** — Update an existing department in Humand. Returns: id. Required: id.
- **delete_a_humand_department_by_id** — Delete a Humand department by id. Returns an empty 204 response on success. Required: id.
- **humand_departments_list_members** — List members of a specific Humand department by department id. Returns: employeeInternalId. Required: department_id.
- **humand_departments_add_members** — Add members to a department in Humand by specifying the target department and the members to add. Required: department_id.
- **humand_departments_remove_members** — Remove members from a Humand department. Returns an empty 204 response on success. Required: department_id.
- **humand_departments_bulk_update** — Update a user's department assignment in Humand by member id. Returns the updated department member record including employeeInternalId and departmentId. Required: member_id.
- **humand_service_management_list_tasks** — List tasks for a Humand service item. Returns: id, created_at, updated_at. Required: sid.
- **create_a_humand_course** — Create a course in Humand. Returns the created course object including its id, with modules, tasks, and form configuration. Required body fields depend on the course structure being created.
- **humand_courses_generate_user_courses_report** — Generate a user course tasks report in Humand. Returns a UserCourseReport object containing user course and task progress data.
- **humand_courses_get_users_progress** — Get users' progress for a specific course in Humand. Returns a list of users with their course progress information. Required: course_id.
- **create_a_humand_learning_session** — Create a learning session in Humand. Returns the created learning session object including its id, type, status, createdAt, and updatedAt. Required: type.
- **update_a_humand_learning_session_by_id** — Update a learning session in Humand by id. Returns the updated learning session object. Required: id.
- **humand_learning_sessions_upload_cover_picture** — Upload a cover picture for a learning session in Humand. Accepts a multipart form-data request containing the image file to be used as the session's cover picture.
- **list_all_humand_chats** — List chats in Humand. Returns: id, type, createdAt. These chat endpoints are deprecated; use the Marty API instead.
- **humand_chats_list_messages** — List messages for a Humand chat. Returns: id, type, createdAt. Required: chat_id. These chat endpoints are deprecated; use the Marty API instead.
- **humand_chats_create_message** — Create a chat message in a specific Humand chat. Chat endpoints are deprecated; the Marty API should be used instead. Returns the created message object including its id. Required: chat_id.
- **humand_chats_create_one_to_one** — Create a one-to-one chat in Humand between two specified users. Returns: id, type, createdAt. Required: user, otherUser. Chat endpoints are deprecated; use the new Marty API instead.
- **humand_chats_mark_read** — Mark all messages in a Humand chat as read by chat_id. This endpoint is deprecated; use the Marty API instead. Returns an empty 204 response on success. Required: chat_id.
- **humand_knowledge_libraries_bulk_upsert** — Bulk upsert knowledge libraries in Humand by submitting an array of knowledge library items to create or update. Returns the resulting knowledge library records including their id and attributes. Required: body (array of knowledge library items).
- **list_all_humand_knowledge_libraries** — List root knowledge libraries in Humand. Returns: id, attributes.
- **get_single_humand_knowledge_library_by_id** — Get a single knowledge library by its id in Humand. Returns the knowledge library detail object including id, created_at, and updated_at. Required: id.
- **humand_knowledge_libraries_get_tree** — Get the descendant tree of a knowledge library in Humand. Returns the tree structure of the knowledge library and its nested descendants. Required: knowledge_library_id.
- **humand_api_keys_rotate** — Rotate the current Humand API key used for authentication, replacing it with a new key. No request body or parameters required.
- **humand_api_keys_revoke** — Revoke the current Humand API key, permanently invalidating it. Returns an empty 204 response on success.
- **humand_api_keys_get_allowed_ips** — Get the IP allowlist for the current Humand API key. Returns: ips.
- **humand_api_keys_delete_allowed_ips** — Remove the IP allowlist for the current API key in Humand. Returns an empty 204 response on success.
- **humand_api_keys_bulk_update** — Update the IP allowlist for the current API key in Humand. Returns the updated IP allowlist configuration for the current API key. No caller-supplied path or query parameters are required; the operation targets the API key used for authentication.
- **list_all_humand_profile_fields** — List all profile field definitions in the Humand instance. Returns a collection of ProfileField objects.
- **create_a_humand_profile_field** — Create profile field in Humand. Returns: uuid, name, type, visibility, enabled, editableByUser, position, options. Required: name, type, enabled, visibility, editableByUser.
- **humand_profile_fields_bulk_create** — Bulk create multiple profile fields in Humand in a single request by submitting an array of profile field definitions. Returns the created profile field records including their id, name, and type. Required: a JSON array body of profile field definition objects.
- **create_a_humand_goal** — Create the same goal for multiple users in Humand. Returns the created goal object including its id and goal-specific attributes. The request body corresponds to the Humand CreateGoal schema; individual field definitions are not enumerated in the discovered source — consult the Humand API docs for the full field breakdown.
- **delete_a_humand_goal_by_id** — Delete a goal in Humand by id. Returns an empty 204 response on success. Required: id.
- **update_a_humand_goal_by_id** — Update a goal in Humand by id. Returns the updated goal object including its id. Required: id.
- **humand_goals_create_progress** — Create progress for a goal in Humand by submitting progress data for the specified goal. Returns the created goal progress record. Required: goal_id.

## How it works

1. **Link your customer's Humand 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 Humand.** The Proxy API is a 1-to-1 mapping of the Humand 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

- **Deliver payroll documents to deskless workers** — Payroll and finance platforms can push paystubs, tax forms, and contracts directly to frontline employees' phones via Humand, eliminating the need for corporate email or intranet logins.
- **Sync org structure from a core HRIS** — HRIS and identity platforms can mirror employees, departments, job positions, and manager relationships into Humand so customers always have an up-to-date frontline directory without manual admin work.
- **Push schedules and pull time-tracking data for WFM** — Workforce management tools can publish shift plans into Humand's mobile app and reconcile them against clock-in/clock-out entries, giving their retail and hospitality customers a high-adoption mobile experience.
- **Automate frontline pre-boarding from an ATS** — Applicant tracking systems can provision new hires in Humand the moment they're marked hired, then trigger welcome posts in their team feed to reduce early-tenure churn.
- **Deliver compliance training to the factory floor** — LMS and compliance platforms can assign courses inside Humand and pull completion progress, giving their enterprise customers a way to reach workers who don't sit at a desk.

## What you can build

- **Mobile paystub distribution** — Generate a signed upload URL, push the PDF, and attach it as a private document to the correct employee so they get a push notification on their phone.
- **One-way employee and org chart sync** — Use upsert and bulk endpoints to keep users, departments, job positions, and manager/reviewer relationships in Humand aligned with your source of truth.
- **Automated lifecycle events** — Provision, deactivate, reactivate, and reset passwords for Humand users automatically as employee status changes in your product.
- **Shift publishing and time reconciliation** — Bulk-create shift assignments from your scheduling engine and pull day summaries and entries nightly to reconcile scheduled vs. actual hours.
- **PTO balance and request sync** — Bulk-create time off requests, correct balances, and read balances by cycle to keep leave data consistent between your HRIS and Humand.
- **Automated feed posts and recognition** — Publish company-wide or group-specific posts and create acknowledgements with points from your performance or engagement product.

## FAQs

### How is authentication to Humand handled?

Truto manages Humand API credentials on behalf of your end users, so you don't need to build a token exchange, storage layer, or rotation logic. Your product calls Truto with a connection identifier and we handle the underlying Humand auth.

### Can we keep Humand's employee directory in sync with our system?

Yes. The integration exposes upsert endpoints (including a merge-by-type variant for manager and reviewer relationships) as well as bulk update operations for users, departments, and job positions, which is ideal for one-way HRIS-to-Humand syncs.

### Does the integration support time tracking and shifts?

Yes. You can bulk-create shift assignments, fetch calendars and planning, list shift templates, and read time-tracking day summaries and entries. Clock-in and clock-out actions are also supported programmatically.

### How do we deliver private documents like paystubs?

Generate a signed upload URL via the files endpoint, upload the file, then create a document linked to the target employee's internal ID. Humand handles the mobile push notification to the worker.

### Can we write to Humand's social feed and recognition features?

Yes. You can create company-wide posts, post into specific groups, and create acknowledgements with adjustable point values that plug into Humand's internal exchange/store.

### What if we need a Humand capability that isn't currently exposed?

Truto builds tools on request. If your use case requires an endpoint that isn't in the current inventory, reach out and we'll prioritize adding it to the integration.

## Related reading

- [Connect Humand to ChatGPT: Manage HR Ops, Time Tracking & User Data](https://truto.one/blog/connect-humand-to-chatgpt-manage-hr-ops-time-tracking-user-data/) — Learn how to connect Humand to ChatGPT using Truto's managed MCP servers. Automate HR ops, time tracking, shift scheduling, and user provisioning workflows.
- [Connect Humand to Claude: Automate Shifts, Documents & Scheduling](https://truto.one/blog/connect-humand-to-claude-automate-shifts-documents-scheduling/) — Learn how to connect Humand to Claude via a managed MCP server to automate shift planning, HR workflows, and time tracking using natural language.
- [Connect Humand to AI Agents: Sync Goals, Learning & Knowledge Bases](https://truto.one/blog/connect-humand-to-ai-agents-sync-goals-learning-knowledge-bases/) — Learn how to connect Humand to AI agents using Truto's /tools endpoint. Fetch tools programmatically, handle rate limits, and build autonomous HR workflows.
