---
title: Jrni API Integration on Truto
slug: jrni
category: Scheduling
canonical: "https://truto.one/integrations/detail/jrni/"
---

# Jrni API Integration on Truto



**Category:** Scheduling  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 133 tools for Jrni that AI agents can call directly.

- **get_single_jrni_check_in_by_id** — Get check-in details for a check-in code in jrni. Returns appointment or event details associated with the check-in code. Required: company_id, id.
- **update_a_jrni_check_in_by_id** — Check in to an appointment or event in jrni, marking the related guest as checked in for the given check-in code. Returns appointment or event details for the check-in code. Required: company_id, id.
- **get_single_jrni_service_by_id** — Get a single jrni bookable service by its integer id or string name. Returns: id, category_id, name, description, durations, prices, detail_group_id, colour, listed_durations, extra, booking_time_step, can_refund_automatically, is_event_group, api_ref, reference, type, group_id, deleted, queuing_disabled, queue_duration, company_id, duration_unit, min_advance_period, max_advance_period,…
- **jrni_services_get_by_ref** — Get a single jrni bookable service by its external reference. Returns: id, category_id, name, description, durations, prices, detail_group_id, colour, listed_durations, extra, booking_time_step, can_refund_automatically, is_event_group, api_ref, reference, type, group_id, deleted, queuing_disabled, queue_duration, company_id, duration_unit, min_advance_period, max_advance_period,…
- **list_all_jrni_services** — List jrni bookable services for a company with optional filters by category, availability, queue, person, and visibility. Returns each service with id, name, description, durations, prices, company_id, and availability. Required: company_id. Results are paginated; duration_unit may be minute, day, or week.
- **get_single_jrni_resource_by_id** — Get a single bookable resource in jrni by id. Returns: id, name, reference, description, type, extra, max_price, min_price, group_id, deleted, disabled, company_id, email, order, address_id, max_book, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **jrni_resources_get_by_ref** — Get a bookable resource in jrni by its API reference (integer id or string name). Returns: id, name, reference, description, type, extra, max_price, min_price, group_id, deleted, disabled, company_id, email, order, address_id, max_book, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, reference.
- **list_all_jrni_resources** — List bookable resources in jrni for a company as a paginated collection. Returns each resource with id, name, reference, description, type, company_id, email, group_id, and embedded images. Required: company_id.
- **jrni_companies_get_by_ref** — Find a jrni company by external reference ID. Returns: id, name, description, company_type, extra, address_id, website, multi_status, reference, numeric_widget_id, currency_code, timezone, country_code, live, ref, created_at, updated_at, children_count, locale, available_locales, membership_id, address, _embedded, openapi, info, servers, security, tags, paths, components,…
- **jrni_companies_search** — Search for child companies in a jrni company hierarchy by text, location, or service. Returns: total_entries, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, address[lat], address[long].
- **jrni_companies_list_children** — List child companies for a parent jrni company. Returns: total_entries, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **get_single_jrni_company_by_id** — Get a single jrni company by id. Returns: id, name, description, created_at, updated_at, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: id.
- **get_single_jrni_event_by_id** — Get a single jrni bookable event by id. Returns the full event object including id, datetime, status, status_name, spaces_booked, num_spaces, person_id, duration, price, and embedded person details. Required: company_id, id.
- **list_all_jrni_events** — List jrni bookable events for a company with optional filtering by date, event group, event chain, resource, person, and address. Returns each event's id, datetime, status_name, spaces_booked, num_spaces, person_id, duration, and price. Required: company_id.
- **jrni_events_search** — Search and filter jrni events by date range and geographic location radius. Returns matching events with id, datetime, status_name, person_id, duration, and price. When the company is a parent location, events from child locations are also returned. Required: company_id, start_date, end_date, address[lat], address[long].
- **get_single_jrni_event_group_by_id** — Get a single jrni event group by id. Returns: id, name, description, colour, company_id, api_ref, reference, extra, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **jrni_event_groups_get_by_ref** — Get a jrni event group by its external reference. Returns: id, name, description, colour, company_id, api_ref, reference, extra, _embedded. Required: company_id, reference.
- **list_all_jrni_event_groups** — List jrni event groups for a company. Returns: total_entries, _embedded, id, name, description, colour, company_id, api_ref, reference, extra, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Results are paginated. Required: company_id.
- **get_single_jrni_event_chain_by_id** — Get a single jrni event chain by id. Returns the full event chain object including id, name, description, duration, start_date, end_date, spaces, price, ticket_type, recurrence_type, and embedded slots, events, ticket_sets, questions, and images. Required: company_id, id.
- **list_all_jrni_event_chains** — List jrni event chains for a company, optionally filtered by date range, address, or event group. Returns: total_entries, _embedded, id, updated_at, created_at, name, description, company_id, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **get_single_jrni_category_by_id** — Get a single jrni category by id. Returns: id, parent_id, name, description, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **list_all_jrni_categories** — List jrni categories for a company. Returns: _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **jrni_categories_list_named** — List named jrni categories for a company. Returns the collection with _embedded.categories as an array of category name strings. Required: company_id.
- **get_single_jrni_client_by_id** — Get a single jrni client by id within a company. Returns: first_name, first_name_extra, last_name, last_name_extra, name, email, address1, address2, address3, address4, address5, postcode, country, phone, mobile, phone_prefix, phone_prefix_country_code, mobile_prefix, mobile_prefix_country_code, id, answers, deleted, notifications, client_type, default_company_id, reference, locale, consent,…
- **update_a_jrni_client_by_id** — Update an existing jrni client by id within a company. You must be logged in as this client to update their details. Returns: first_name, first_name_extra, last_name, last_name_extra, name, email, address1, address2, address3, address4, address5, postcode, country, phone, mobile, phone_prefix, phone_prefix_country_code, mobile_prefix, mobile_prefix_country_code, id, answers, deleted,…
- **create_a_jrni_client** — Create a new jrni client within a company. Setting a password creates a member user; send_welcome_email defaults to true. Returns: first_name, first_name_extra, last_name, last_name_extra, name, email, address1, address2, address3, address4, address5, postcode, country, phone, mobile, phone_prefix, phone_prefix_country_code, mobile_prefix, mobile_prefix_country_code, id, answers, deleted,…
- **list_all_jrni_booking_text** — List custom booking text for a jrni company. Booking text is extra business text shown before or after a booking for a specific service, person, or resource. Returns: company_id, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **jrni_addresses_search** — Search for jrni company addresses by name or other properties. Returns a paginated collection of address records including id, name, address1, address2, address3, address4, email, phone, lat, and long. Required: company_id.
- **get_single_jrni_address_by_id** — Get a single jrni company address by id. Returns the full address object including id, name, address1 through address5, postcode, country, lat, long, phone, email, and extra. Required: company_id, id.
- **list_all_jrni_addresses** — List jrni company branch, store, and resource addresses (not client addresses) as a paginated collection. Returns address records including id, name, address1, address2, address3, address4, email, phone, lat, and long. Required: company_id.
- **get_single_jrni_image_by_id** — Get a single jrni image by id. Returns: id, company_id, name, image_file_name, foreign_key, url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **list_all_jrni_images** — List jrni images for a company, optionally filtered by service, resource, person, category, or event chain. Returns: _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **get_single_jrni_event_group_image_by_id** — Get a single event group image in jrni by id. Returns: id, company_id, name, image_file_name, foreign_key, url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, event_group_id, id.
- **list_all_jrni_event_group_images** — List images attached to an event group in jrni. Returns: id, company_id, name, image_file_name, foreign_key, url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, event_group_id.
- **get_single_jrni_package_by_id** — Get a single package in jrni by id. Returns: id, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. The upstream OpenAPI spec does not define additional package fields. Required: company_id, id.
- **list_all_jrni_packages** — List packages for a jrni company. Returns: id, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. The upstream OpenAPI spec does not define additional package fields. Required: company_id.
- **get_single_jrni_bulk_purchase_by_id** — Get a specific jrni bulk purchase by id. Returns: id, company_id, name, price, number_of_bookings, description, duration, days_valid_for, use_from_date, use_by_date, days_to_use_by, can_purchase, describe, created_at, updated_at, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **list_all_jrni_bulk_purchases** — List bulk purchases for a jrni company, optionally filtered by creation or modification date. Returns: _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **create_a_jrni_booking** — Create a single booking in jrni without admin permissions — supports appointment bookings (service_id + datetime) and event bookings (event_id + event_chain_id). Only one item per booking; use basket APIs for multiple items. Returns: id, full_describe, describe, resource_name, person_name, datetime, end_datetime, duration, duration_span, listed_duration, on_waitlist, company_id, attended, price,…
- **list_all_jrni_terminology** — Get the defined terminology for a jrni organization, which maps standard terms to organization-specific labels (e.g., staff might be called Doctors, resource might be hospital beds). The upstream API documentation does not enumerate specific response fields. Required: company_id.
- **jrni_event_details_get_landing_page** — Get the landing page configuration for a jrni event. Returns: id, session_id, created_at, updated_at, landing_page_config, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: event_id.
- **get_single_jrni_event_detail_by_id** — Get a jrni event chain by id. Returns the full event chain including id, name, description, duration, start_date, end_date, price, spaces, person_name, resource_name, and embedded slots, events, ticket_sets, questions, and images. Required: id.
- **jrni_people_get_by_ref** — Find a bookable person in jrni by an external reference ID. Returns: id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, _embedded. Required: company_id, ref.
- **jrni_people_find_by_ref** — Find a bookable person in jrni by posting an external reference ID. Returns: id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, _embedded. Required: company_id, reference.
- **get_single_jrni_person_by_id** — Get a single bookable person in jrni by id. Returns: id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **list_all_jrni_people** — List bookable people in jrni for a company. Returns: total_entries, _embedded, id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **list_all_jrni_booking_links** — Get a single jrni booking link by its link token. Returns a booking link object whose fields are not documented in the upstream API specification. Required: link_token.
- **jrni_times_get_by_datetime** — Get availability details for a specific booking start time in jrni by company, datetime, and service. Returns: start, available, durations, prices, listed_durations. Required: company_id, datetime, service_id.
- **list_all_jrni_times** — List available booking start times for a particular day in jrni. Returns: time slots with datetime, available durations, and prices for each start time. Required: company_id, service_id, start_date. Best practice to limit the date range to a maximum of 5 days.
- **list_all_jrni_dates** — List available booking dates for a jrni company within a date range. Returns: dates, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, service_id, start_date. If person_id and resource_id are omitted and the service has multiple people or resources, availability is counted across any person/resource for each date.
- **list_all_jrni_company_opening_hours** — Retrieve opening hours for a jrni company. Returns the days array with each entry containing day, start, and end times. Required: company_id.
- **list_all_jrni_company_text** — List company text configuration details for a jrni company, optionally filtered by message type. Returns the company text configuration object; the upstream API does not document specific response fields. Required: company_id.
- **get_single_jrni_guest_by_id** — Get a jrni guest by UUID and Event ID, including client details, questions, and timings. Returns: uuid, status, number_of_extra_attendees, total_attendees, client_details, tickets, questions, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id, event_id.
- **jrni_admin_clients_search** — Search jrni clients using an ElasticSearch Query DSL request body. Returns matching client records including id, first_name, last_name, email, and phone. Required: query.
- **jrni_admin_clients_search_members** — Search for jrni members within a company by search term. Returns matching member records including id, first_name, last_name, email, and phone. Required: company_id, term.
- **get_single_jrni_admin_client_by_id** — Get a single jrni client by id within a company. Returns the full client object including id, first_name, last_name, email, phone, mobile, consent, and address fields. Required: company_id, id.
- **update_a_jrni_admin_client_by_id** — Update an existing jrni client's details within a company. Returns the updated client object including id, first_name, last_name, email, phone, and consent. Required: company_id, id.
- **delete_a_jrni_admin_client_by_id** — Delete a jrni client by id within a company. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_jrni_admin_clients** — List jrni clients for a company. Returns each client's id, email, first_name, last_name, phone, mobile, consent, reference, member_type, and address fields. Required: company_id. Supports filtering by field, ordering, and embedding bookings via the embed parameter.
- **create_a_jrni_admin_client** — Create a new jrni client in a company. Returns the created client including id, email, first_name, last_name, phone, mobile, consent, and address fields. Required: company_id.
- **jrni_admin_clients_get_by_email** — Find a single jrni client by email address. Returns the full client object including id, email, first_name, last_name, reference, member_type, consent, and contact/address details. Required: company_id, email.
- **jrni_admin_clients_get_by_ref** — Find a jrni client by external reference ID. Returns the full client object including id, email, reference, first_name, last_name, member_type, and contact/address details. Required: company_id, ref.
- **jrni_admin_clients_get_edit_schema** — Get the JSON schema for editing an existing jrni client, which can be used to validate the payload for the Update Client API. Returns a dynamic JSON schema definition whose structure is company-specific and cannot be enumerated from the API docs. Required: company_id, client_id.
- **jrni_admin_clients_get_new_schema** — Get the schema for creating a new client in jrni. The returned schema describes the fields and validation rules for the Create Client API payload. Required: company_id.
- **jrni_admin_clients_find_by_ref** — Find a jrni client by their reference ID. Returns the full client object including id, email, first_name, last_name, reference, member_type, and address fields. Required: company_id, reference.
- **jrni_admin_bookings_search** — Search jrni bookings using an Elasticsearch Query DSL body. Returns booking records matching the query including id, datetime, client_name, service_name, status, and is_cancelled. Required: query.
- **jrni_admin_bookings_cancel** — Cancel an existing jrni booking. Returns the cancelled booking including id, is_cancelled, cancel_reason, cancelled_by, and status. Required: company_id, booking_id.
- **get_single_jrni_admin_booking_by_id** — Get a single jrni booking by id. Returns the full booking object including id, datetime, client_name, service_name, status, is_cancelled, and _embedded resources. Required: company_id, id.
- **update_a_jrni_admin_booking_by_id** — Update an existing jrni booking by id. Returns the updated booking including id, datetime, status, updated_at, and created_at. Required: company_id, id.
- **list_all_jrni_admin_bookings** — List jrni bookings for a company as a paginated collection. Returns each booking with id, datetime, end_datetime, client_name, client_email, status, service_name, and company_id. Required: company_id. Supports filtering by date range, status, client, person, event, slot, and more.
- **create_a_jrni_admin_booking** — Create a new booking in jrni for a service or event appointment. Returns the created booking object including id, datetime, service_id, client_id, status, price, and company_id. Required: company_id.
- **jrni_admin_bookings_get_edit_schema** — Get the edit schema for a specific jrni booking. Returns a dynamic schema object used to validate the payload for the Update Booking API, with content-type-specific fields that vary per booking. Required: company_id, booking_id.
- **jrni_admin_booking_notes_list_notes** — List notes for a jrni booking, optionally filtered by note type. Returns the notes collection containing _embedded.notes (an array of note entries). Required: company_id, booking_id.
- **jrni_admin_booking_notes_create_note** — Add a note to an existing jrni booking. Returns: id, note, type, reason_id, created_by, created_at, updated_at, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, booking_id, type.
- **jrni_admin_booking_notes_get_note** — Get a single note from a jrni booking by note id. Returns: id, note, type, reason_id, created_by, created_at, updated_at, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, booking_id, note_id.
- **jrni_admin_booking_attendees_list_attendees** — List attendees for a jrni booking. Returns an attendee collection with _embedded attendees, each including id, first_name, last_name, email, type, and name. Required: company_id, space_id.
- **jrni_admin_booking_attendees_add_attendees** — Add an attendee to a jrni booking. Returns the created attendee object including id, first_name, last_name, email, type, name, and consent. Required: company_id, space_id, type.
- **jrni_admin_booking_attendees_delete_attendee** — Delete an attendee from a jrni booking. Returns an empty 204 response on success. Required: company_id, space_id, attendee_id.
- **jrni_admin_booking_attendees_bulk_update** — Update an attendee of a jrni booking. Returns the updated attendee object including id, first_name, last_name, email, type, name, and consent. Required: company_id, space_id, attendee_id.
- **jrni_admin_global_images_get_link** — Get a single jrni image link by link_id. Returns the image link object including id, company_id, name, position, image_file_name, foreign_key, url, thumb_url, and default. Required: link_id.
- **jrni_admin_global_images_delete_link** — Delete a jrni image link by link_id. Returns an empty 204 response on success. Required: link_id.
- **jrni_admin_global_images_list_links** — List images attached to a global category in jrni. Returns: _embedded, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id.images (array of image identifiers). Required: category_id.
- **jrni_admin_global_images_create_link** — Upload an image and link it to a global category in jrni. Returns the created image link object including id, name, position, image_file_name, url, and thumb_url. Required: category_id, file.
- **get_single_jrni_admin_image_by_id** — Get a single image from the jrni admin image pool by id. Returns: id, company_id, name, image_file_name, foreign_key, url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **delete_a_jrni_admin_image_by_id** — Delete an image from the jrni image pool by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_jrni_admin_images** — List images in the jrni admin image pool for a company. Returns: id, company_id, name, image_file_name, foreign_key, url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **jrni_admin_images_get_link** — Get a single image link in jrni by link_id. Returns: id, company_id, name, position, image_file_name, foreign_key, url, thumb_url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, link_id.
- **jrni_admin_images_delete_link** — Delete an image link in jrni by link_id. Returns an empty 204 response on success. Required: company_id, link_id.
- **jrni_admin_images_list_links** — List image links attached to a service, person, resource, or company in jrni. Returns the image collection embedded under _embedded.images (an array of image URL strings). Required: company_id.
- **jrni_admin_images_create_link** — Upload an image and link it to objects in jrni. Returns: id, company_id, name, position, image_file_name, foreign_key, url, thumb_url, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **list_all_jrni_admin_dates** — List available dates on which bookings can occur for a jrni company and service within a date range. Returns: dates, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, service_id, start_date.
- **jrni_admin_times_get_by_datetime** — Read a specific booking time slot for a jrni company at a given datetime. Returns: start, available, durations, prices, listed_durations, conflicts, conflicting_assets, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, datetime, service_id.
- **list_all_jrni_admin_times** — List available booking start times for a jrni company on a particular day, with durations and prices included under each start time. Returns: times, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, service_id, start_date.
- **jrni_admin_people_search** — Search for bookable people in a jrni company by search term. Returns matching person records including id, name, email, phone, disabled, and group_name. Required: company_id, term.
- **jrni_admin_people_search_bookable** — Search for people available for booking at a jrni company. Returns matching person records including id, name, email, phone, disabled, and group_name. Required: company_id, term.
- **jrni_admin_people_list_companies** — List companies associated with a person in jrni. Returns company records including id, name, description, currency_code, timezone, and live. Required: company_id, person_id.
- **get_single_jrni_admin_person_by_id** — Get a single bookable person in jrni by id. Returns the full person object including id, name, email, phone, disabled, group_name, company_id, and _embedded resources. Required: company_id, id.
- **update_a_jrni_admin_person_by_id** — Update an existing bookable person (staff member) in a jrni company. Returns the updated person including id, name, description, type, group_id, company_id, order, disabled, email, phone, phone_prefix, created_at, updated_at, and embedded images/schedule data. Required: company_id, id.
- **delete_a_jrni_admin_person_by_id** — Delete a bookable person (staff member) in a jrni company. Returns an empty 204 response on success. Required: company_id, id. Cannot delete a person who still has upcoming bookings — cancel those first.
- **jrni_admin_people_create_block** — Block out a time slot for a bookable person in a jrni company. Returns the created slot including id, datetime, status, person_id, service_id, duration, end_datetime, created_at, updated_at. Required: company_id, people_id, start_time, end_time, recurrence_rule[number].
- **list_all_jrni_admin_people** — List bookable people (staff members) for a jrni company. Returns each person's id, name, description, type, group_id, company_id, order, disabled, email, phone, phone_prefix, created_at, updated_at, and embedded images/schedule data. Required: company_id.
- **create_a_jrni_admin_person** — Create a new bookable person (staff member) in a jrni company. Returns the created person including id, name, description, type, group_id, company_id, order, disabled, email, phone, phone_prefix, created_at, updated_at, and embedded images/schedule data. Required: company_id, name.
- **jrni_admin_people_get_by_ref** — Find a bookable person in jrni by external reference ID. Returns: id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, _embedded, email, mobile, queuing_disabled, attendance_status, attendance_estimate, attendance_started, attendance_status_note, reference, company_ids, schedule_id, person_companies, phone, phone_prefix,…
- **jrni_admin_people_get_edit_schema** — Retrieve the schema for editing an existing bookable person in jrni. Returns the document object with content-type-specific fields. Required: company_id, people_id.
- **jrni_admin_people_find_by_ref** — Find a bookable person in jrni by external reference ID via POST request. Returns: id, name, description, type, extra, group_id, deleted, disabled, company_id, order, group_name, created_at, updated_at, _embedded, email, mobile, queuing_disabled, attendance_status, attendance_estimate, attendance_started, attendance_status_note, reference, company_ids, schedule_id, person_companies, phone,…
- **jrni_admin_people_get_new_schema** — Retrieve the schema for creating a new bookable person in jrni. Returns the document object with content-type-specific fields. Required: company_id.
- **jrni_admin_people_bulk_update** — Update the companies associated with a jrni person by providing company IDs and enabled flags. Returns an empty 204 response on success. Required: company_id, person_id, companies[id].
- **jrni_admin_sequences_get_sequence** — Get the ordering sequence of services, resources, or questions for a jrni company. Returns: items, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, type.
- **jrni_admin_sequences_get_edit_schema** — Get the edit schema for a jrni sequence of services, resources, or questions. Returns a JSON schema describing the editable fields for the specified sequence type; the upstream docs do not enumerate the response fields. Required: company_id, type.
- **jrni_admin_sequences_bulk_update** — Update the ordering sequence of services, resources, or questions for a jrni company by providing a new list of item IDs. Returns: items, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, type, items[id].
- **get_single_jrni_admin_address_by_id** — Get a single jrni admin address by id. Returns: id, name, address1, address2, address3, address4, address5, postcode, country, lat, long, map_url, map_marker, phone, homephone, email, workphone, pretty_workphone, extra, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **update_a_jrni_admin_address_by_id** — Update an existing jrni admin address. Returns the updated address object including id, name, address1, address2, address3, address4, email, phone, lat, long. Required: company_id, id, address1.
- **delete_a_jrni_admin_address_by_id** — Delete a jrni admin address by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_jrni_admin_addresses** — List jrni admin addresses for a company as a paginated collection. Returns each address with id, name, address1, address2, address3, address4, postcode, country, email, phone, lat, long. Required: company_id.
- **create_a_jrni_admin_address** — Create a new jrni admin address for a company. Returns the created address object including id, name, address1, address2, address3, address4, email, phone, lat, long. Required: company_id, address1.
- **jrni_admin_addresses_get_edit_schema** — Get the jrni address edit schema for an existing address. Returns a schema definition for validating the Update Address API payload; the response shape is not further documented in the jrni API source. Required: company_id, addresse_id.
- **jrni_admin_addresses_get_new_schema** — Get the jrni address creation schema. Returns a schema definition for validating the Create Address API payload; the response shape is not further documented in the jrni API source. Required: company_id.
- **list_all_jrni_admin_companies** — Get a jrni company by company_id. Returns: id, name, description, company_type, extra, address_id, website, multi_status, reference, numeric_widget_id, currency_code, timezone, country_code, live, ref, created_at, updated_at, children_count, locale, available_locales, membership_id, address, _embedded, disabled, origin, parent_id, member_company_notification_settings, openapi, info, servers,…
- **jrni_admin_companies_get_by_ref** — Find a jrni company by external API reference. Returns: id, name, description, company_type, extra, address_id, website, multi_status, reference, numeric_widget_id, currency_code, timezone, country_code, live, ref, created_at, updated_at, children_count, locale, available_locales, membership_id, address, _embedded, disabled, origin, parent_id, member_company_notification_settings. Required:…
- **jrni_admin_companies_search** — Search for child companies in jrni by text, geo-location, or service. Returns company records with id, name, description, website, live, timezone, and address. Required: company_id.
- **jrni_admin_companies_list_children** — List child companies for a parent company in jrni. Returns each child company with id, name, description, currency_code, timezone, live, disabled, parent_id, and children_count. Required: company_id.
- **jrni_admin_companies_create_child** — Create a child company under a parent company in jrni. Services, events, and settings are automatically copied from the parent; timezone defaults to the parent's timezone unless overridden. Returns the created company object including id, name, description, currency_code, timezone, live, disabled, parent_id, and children_count. Required: company_id, name.
- **jrni_admin_companies_get_edit_schema** — Get the edit schema for a company or location in jrni. Returns a dynamic schema definition used to validate the payload for editing the company. Required: company_id.
- **jrni_admin_companies_bulk_update** — Update an existing jrni company's name, description, timezone, address, locale, and other details. Returns the updated company with id, name, description, website, live, timezone, and address. Required: company_id.
- **jrni_admin_companies_bulk_delete** — Delete a jrni company by company_id. Bookings will not be cancelled. Returns an empty 204 response on success. Required: company_id.
- **list_all_jrni_admin_services** — List bookable services for a jrni company. Returns each service with id, name, description, durations, prices, company_id, availability, and visibility_type. Required: company_id. Supports filtering by reference, availability, queuing_disabled, person_id, exclude_disabled, visibility_types, name_contains, and service booking type flags.
- **get_single_jrni_admin_service_by_id** — Get a single bookable service in jrni by id. Returns the full service object including id, name, description, durations, prices, company_id, availability, and visibility_type. Required: company_id, id.
- **list_all_jrni_admin_resources** — List bookable resources for a jrni company. Returns each resource with id, name, type, description, group_id, company_id, email, schedule_id, and reference, plus embedded images or schedules when requested. Required: company_id. Supports filtering by reference and group_id.
- **get_single_jrni_admin_resource_by_id** — Get a single bookable resource in jrni by id. Returns the full resource object including id, name, type, description, email, group_id, company_id, schedule_id, reference, and optionally embedded images and schedules. Required: company_id, id.
- **list_all_jrni_admin_event_groups** — List event groups for a jrni company, with optional filtering by custom reference. Returns: total_entries, _embedded, id, name, description, colour, company_id, api_ref, reference, extra, disabled, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id.
- **get_single_jrni_admin_event_group_by_id** — Get a single event group by id in jrni. Returns: id, name, description, colour, company_id, api_ref, reference, extra, _embedded, disabled, openapi, info, servers, security, tags, paths, components, x-original-swagger-version, x-readme, _id. Required: company_id, id.
- **list_all_jrni_admin_bulk_purchases** — List bulk purchases for a jrni company, with optional filters by price group, date range, purchase status, and child companies. Returns: _embedded. Required: company_id.
- **create_a_jrni_login** — Authenticate a jrni administrator by email and password for a specific company. Returns: email, auth_token, company_id, path, _embedded, _links. Required: company_id, email, password.

## How it works

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

- **Sync appointments into CRM and clienteling tools** — Give your users a two-way flow between Jrni bookings and your CRM so client records, appointment history, and notes stay aligned. This is essential for retail, banking, and healthcare customers who run customer engagement workflows off booking data.
- **Power workforce and capacity management** — Let workforce management platforms push shift changes, PTO, and breaks directly into Jrni as calendar blocks on staff. This prevents overbooking and keeps operational systems as the source of truth for staff availability.
- **Enable in-store and branch check-in workflows** — Retail POS, digital signage, and staff tablet apps can update Jrni check-in status in real time as customers arrive. This closes the loop between digital booking and physical fulfillment for enterprise chains.
- **Automate patient and customer engagement campaigns** — Marketing automation and patient engagement platforms can pull availability, create bookings on behalf of users, and reschedule from within their own UI. Users never leave your product to manage appointments across dozens or hundreds of locations.
- **Roll up multi-location reporting and configuration** — Analytics and operations platforms can recursively traverse Jrni's parent/child company hierarchy to pull every branch, service, and resource. This powers cross-location dashboards and centralized configuration management for enterprise customers.

## What you can build

- **Two-way booking sync** — Create, update, cancel, and search Jrni admin bookings from your product and reflect status changes back into your own records.
- **Client and contact sync** — Create and update Jrni clients from your CRM, and look up existing clients by ref or email to avoid duplicates when a booking is made.
- **Staff availability blocking** — Push shift boundaries, PTO, and breaks from WFM tools into Jrni as person-level blocks so customer bookings can't land on unavailable staff.
- **Real-time check-in updates** — Update check-in records from POS or floor-manager apps so digital signage and staff know exactly who has arrived and who is waiting.
- **Multi-location configuration mirror** — Traverse the parent/child company tree to mirror every branch, its services, resources, and people into your own location model.
- **Contextual booking notes and attendees** — Attach notes to bookings (e.g., allergies, preferences from a CRM) and manage attendee lists on group events and class-style event chains.

## FAQs

### What authentication does the Jrni integration use?

Your end users authenticate their Jrni account through Truto, and Truto manages the credentials and token lifecycle. Your app calls Truto's endpoints with a single tenant identifier — you don't handle Jrni auth directly.

### Does the integration support Jrni's parent/child company hierarchy?

Yes. You can list child companies, search companies, and fetch a single company by ID or ref, which lets you replicate Jrni's brand → region → branch hierarchy in your own system.

### Can we create and modify bookings, or only read them?

Both. The integration supports creating, updating, searching, cancelling, and fetching bookings via the admin booking endpoints, as well as creating public bookings for end-user flows.

### How do we handle Jrni's dynamic terminology (e.g. 'Doctor' vs 'Stylist')?

Jrni exposes a terminology endpoint that returns the tenant-specific labels for entities like staff, resources, and services. You can call it through Truto and use the response to render UI labels that match each customer's configuration.

### Can we check availability that accounts for both staff and required resources?

Yes. Jrni's date and time endpoints return slots that consider person availability alongside required resources, so you can surface only slots where both a qualified staff member and the needed room, bed, or equipment are free.

### Can we manage attendees for group events and multi-session classes?

Yes. The admin booking attendees endpoints let you list, add, bulk update, and remove attendees on bookings tied to event groups and event chains, which covers classes, workshops, and recurring session-based programs.

## Related reading

- [Connect Jrni to ChatGPT: Manage Bookings, Events, and Clients](https://truto.one/blog/connect-jrni-to-chatgpt-manage-bookings-events-and-clients/) — Learn how to connect Jrni to ChatGPT using a managed MCP server. Execute complex enterprise scheduling workflows, manage bookings, and sync client check-ins.
- [Connect Jrni to Claude: Sync Schedules, Resources, and Services](https://truto.one/blog/connect-jrni-to-claude-sync-schedules-resources-and-services/) — Learn how to connect Jrni to Claude using a managed MCP server. Automate enterprise scheduling, event check-ins, and resource management with AI.
- [Connect Jrni to AI Agents: Automate Check-ins and Event Logistics](https://truto.one/blog/connect-jrni-to-ai-agents-automate-check-ins-and-event-logistics/) — Learn how to connect Jrni to AI agents using Truto's tools endpoint. Automate event check-ins, manage staff capacity, and execute complex scheduling workflows safely.
