# Jrni MCP connector

The Jrni connector brings appointment services, bookable resources, events, locations, check-ins and client records into Claude, ChatGPT, Cursor and other AI clients, so your team can look them up and ask questions about them in plain language.

Source: https://elaichi.ai/connectors/jrni/

## Facts

| | |
| --- | --- |
| Application | Jrni |
| Category | Scheduling |
| AI tools | 133 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 133 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Jrni is connected

- List all Jrni services with no resource assigned this week.
- Which Jrni resources have the most check ins today?
- Summarize next week's Jrni events by company.

## Connect Jrni in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Jrni.
2. Optionally set Share with, then press Connect.
3. Paste a Jrni API key. One person generates a token in Jrni and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Jrni tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Jrni to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Jrni to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Jrni to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Jrni to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Jrni tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Jrni through Elaichi

### Check what a location offers today

Operations. Ask which services a branch or store runs, how they are categorized, and which staff or rooms are set up to deliver them, without opening the Jrni admin.

### Find and update a customer's check-in

Front desk. Pull up a check-in by its reference when someone arrives and update its status while the customer is still standing there.

### See what is on the events calendar

Events. Search upcoming events, review the series they belong to, and confirm which event groups are live before promoting them.

### Look up a client before answering

Customer service. Open a client record from Jrni during a call or chat so the answer reflects who the customer actually is.

### Compare services across a group of locations

Regional management. List the child locations under a parent company and see how services and resources differ between them in one question.

### Trace a booking setup question quickly

Support. When a colleague asks why a service or resource is not appearing, fetch it by reference and read its settings back in plain language.

## Frequently asked questions

### How do I connect Jrni to Claude?

First connect Jrni in Elaichi by pasting your Jrni API key, which takes a minute and needs no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Jrni services, events, locations, check-ins and clients are available in Claude.

### Does Jrni work with ChatGPT and Cursor as well as Claude?

Yes. Once Jrni is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Jrni once and every client picks it up.

### What can an AI agent actually do with my Jrni data?

An agent can look up Jrni services, bookable resources, locations and their child locations, events, event groups and event series, categories, client records and check-ins, and it can update a check-in. It answers questions like which services a branch offers or what events are running this month. Short, concrete asks such as "list services at the Leeds branch" work better than long sentences.

### Does connecting Jrni give the AI access to every location and company?

No. Every call to Jrni runs inside the access of the person who signed in, so an agent sees the companies, locations and records that person can already see. Elaichi can narrow that further per person or team, and it can never widen it beyond what Jrni itself allows.

### Can my team share one Jrni connection?

Yes. One person connects Jrni with the API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in as themselves, so the audit log records exactly who looked up or changed a Jrni record.

### Can I stop an agent from changing check-ins or other records in Jrni?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Jrni services, events and clients while blocking the ability to update a check-in. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Jrni connection when someone leaves?

Offboarding that person in Elaichi ends their access to Jrni through every AI client at once. A shared Jrni connection keeps working for everyone else on the team. If you ever want to remove Jrni entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 133 Jrni tools

Every tool below is callable through https://api.elaichi.ai/mcp once Jrni is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Get single Jrni check in by ID** (Get). 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** (Update). 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). 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). 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). 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). 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). 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). 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** (Get). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (List). 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). 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). 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** (Get). 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** (Action). 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). 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). 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** (List). 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). 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). 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). 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** (List). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Get). 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** (Get). 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). 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). 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** (Action). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Create). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Create). 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). 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). 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). 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). 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). 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). 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** (Create). 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). 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** (Get). 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). 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). 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). 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). 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). 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). 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). 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** (Create). 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). 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). 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** (Get). 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** (Get). 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** (Action). 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** (Get). 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). 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). 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). 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). 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). 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). 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). Delete a jrni admin address by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all Jrni admin addresses** (List). 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). 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). 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). 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** (List). 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** (Get). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Create). 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.
