Skip to content

Scheduling · Beta

Jrni
API integration

Ship Scheduling features without building the integration. Full Jrni API access via Proxy and 130+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Jrni

Use Cases

Why integrate with Jrni

Common scenarios for SaaS companies building Jrni integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + Jrni

Concrete product features your team can ship faster by leveraging Truto’s Jrni integration instead of building from scratch.

01

Two-way booking sync

Create, update, cancel, and search Jrni admin bookings from your product and reflect status changes back into your own records.

02

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.

03

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.

04

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.

05

Multi-location configuration mirror

Traverse the parent/child company tree to mirror every branch, its services, resources, and people into your own location model.

06

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.

SuperAI

Jrni AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for Jrni

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Jrni in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Jrni account

Use Truto’s frontend SDK to connect your customer’s Jrni account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Jrni

Truto’s Proxy API is a 1-to-1 mapping of the Jrni API. You call us, we call Jrni, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Jrni’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Jrni on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Jrni

Get Jrni integrated into your app

Our team understands what it takes to make a Jrni integration successful. A short, crisp 30 minute call with folks who understand the problem.