# Loby Docs (Full Documentation) > API documentation for Loby - a ticketing and membership platform for museums and cultural venues. This file contains detailed excerpts from all documentation pages for LLM context. --- ## REST API Complete reference for the Loby REST API. Manage tickets, memberships, customers, and events programmatically. ### Overview URL: https://loby.io/rest-api/introduction/overview Description: Get started with the Loby REST API. Learn about authentication, base URLs, rate limits, and how to make your first API request. The base URL to send all API requests is https://api.loby.io. HTTPS is required for all API requests. The Loby API follows RESTful conventions when possible, with most operations performed via GET, POST, PATCH, and DELETE requests. Request and response bodies are encoded as JSON and therefore requests need to include the header when appropriate. Use Loby API to retrieve, create or modify data stored in your Loby account programmatically and to create custom integrations. There is currently one... --- ### Pagination URL: https://loby.io/rest-api/introduction/pagination Description: Learn how to paginate through large result sets using limit and offset in the Loby API. When querying for a list of objects, you will receive a format like this: Where is the total number of objects that are available and is the list of objects that are returned. | Parameter | Type | Default | Description | | - | - | - | - | | | | | The maximum number of objects to return per request. Must be between 1 and 1000. | | | | | The number of objects to skip before returning results. Use this to paginate through large result sets. | The default limit is 1000 objects per request, w... --- ### Querying URL: https://loby.io/rest-api/introduction/querying Description: Filter and search API responses using query parameters. Build powerful queries to find exactly the data you need. To query a list of objects, you can use the parameter. The parameter is a uri encoded JSON object, where you can specify the fields you want to query. > Note on Consistency: Filtered queries are eventually consistent, meaning there might be a short delay before newly created or updated data appears in filtered results. If you need immediate access to newly created or updated data, use direct query parameters (like or for customers) which provide strong consistency guarantees. The base filter... --- ### Images URL: https://loby.io/rest-api/introduction/images Description: Upload images and generate resized URLs. Learn about the image CDN, sizing options, and supported formats. Loby provides a fully functional image generator, that dynamically generates images for requested sizes. The images are quickly generated and cached for fast reuse. Upload an image. The body is JSON with a data-URL in . | Property | Type | Description | | - | - | - | | | | Data-URL, for example . The part before must include a MIME type. | Returns . Use that id in avatar fields and in the CDN URL below. If is missing, the response is with . If the data-URL is not a valid string, the respon... --- ### Customer URL: https://loby.io/rest-api/objects/customer Description: The Customer object represents a visitor or member. Learn about all available fields and relationships. | Property | Type | Default | Description | Example | | - | - | - | - | - | | * | (UUIDv4) | | Unique identifier | | | | | | Encrypted identifier. Used to create direct checkout links. It has been encrypted with a key for the organization. | | | | | | Timestamp when the customer was created | | | | | | Timestamp when the customer was last updated | | | | | | First name of customer | | | | | | Last name of customer | | | | | | Email of customer. Email is unique and trying... --- ### Membership Type URL: https://loby.io/rest-api/objects/membership-type Description: Membership Types define the different membership plans available. Understand pricing, benefits, and configuration options. A membership type is a type specification, that is referred to when issuing new memberships. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Title of membership type | or or | | | | | SKU of the membership type | | | | | | Price of ticket in lowest unit. Cents for , etc. 0 = FREE | | | | | | For how long the membership will be active until it needs to be renewed. Can be either or or . | | | | |... --- ### Membership URL: https://loby.io/rest-api/objects/membership Description: The Membership object links a customer to a membership type. Track status, validity periods, and member benefits. A represents an entered membership, that has a MembershipType. A Membership can e.g. be used to get benefits or to get access to the museum. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Timestamp when the membership was created | | | | | | Timestamp when the membership was last updated | | | | | | Date for when the membership starts | | | | | | Date for when the membership will expire. Including the da... --- ### Order URL: https://loby.io/rest-api/objects/order Description: An Order is the purchase record linked to a membership or other sale. Includes sales channel type. An is the purchase record linked to a membership (or other sale). On memberships it currently exposes only a subset of fields. | Property | Type | Default | Description | Example | | - | - | - | - | - | | * | (UUIDv4) | | Unique identifier | | | | | | Sales channel the order originated from. One of , , , | | --- ### Ticket Type URL: https://loby.io/rest-api/objects/ticket-type Description: Ticket Types define admission categories and pricing. Configure capacity, time slots, and availability rules. A ticket type is a type specification, that is referred to when issuing new tickets. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | (UUIDv4) | | Reference to a location. If that ticket type belongs to a specific location | | | | | | Name of ticket type | | | | | | Description of the ticket | | | | | | Online Name of ticket type | | | | | | Online Description of the ticket | | | | | | SKU of the ticke... --- ### Ticket URL: https://loby.io/rest-api/objects/ticket Description: The Ticket object represents a purchased admission. Access ticket details, validity, and check-in status. A represents an issued ticket, that has a TicketType. A Ticket can e.g. be used to get access to the museum. | Property | Type | Default | Description | Example | | - | - | - | - | - | | * | (UUIDv4) | | Unique identifier | | | | | | Date for when the ticket was created | | | | | | Number of the ticket | | | | (UUIDv4) | | A reference to a that owns the ticket. Only present if the ticket is associated with a customer | | | | object | | Nested ticket type. This is a subset: , , , ,... --- ### Ticket Reservation URL: https://loby.io/rest-api/objects/ticket-reservation Description: Ticket Reservations temporarily hold capacity before purchase. Manage reservation expiry and conversion to tickets. A is a temporary hold on a ticket slot, typically used to reserve capacity in a time slot before completing a purchase. Reservations automatically expire after 15 minutes if not converted to a ticket. Ticket reservations are useful when you need to: - Hold a spot in a time slot while the customer completes checkout - Prevent overbooking during the purchase process - Manage capacity for time-slotted tickets 1. Create a reservation - Call with a and optionally a 2. Complete the purchase - Call... --- ### Location URL: https://loby.io/rest-api/objects/location Description: Locations represent physical venues or areas. Configure capacity limits and associate ticket types with locations. A location can be used for various things. Eg. Assigning timeslots and ticket types to it. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Name of location | | --- ### Time Slot URL: https://loby.io/rest-api/objects/time-slot Description: Time Slots define available entry times. Manage capacity per slot and configure booking windows. A time slot holds information regarding a specific time slot for tickets. | Property | Type | Default | Description | Example | | - | - | - | - | - | | * | (UUIDv4) | | Unique identifier | | | | | | The max capacity for the slot | | | | | | Start time stamp for the time slot | | | | | | End time stamp for the time slot | | | | | | How many tickets have been issued for this time slot | | | | | | How many tickets have been reserved for this time slot | | | | | | How many tickets... --- ### Event URL: https://loby.io/rest-api/objects/event Description: Events represent special exhibitions or programs. Configure dates, capacity, and event-specific ticket types. An event represents a scheduled activity or occasion. You can create ticket types for the event with EventTicketType. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Creation timestamp of the event | | | | | | Master language of the event | | | | | | Name of the event | | | | | | Description of the event | | | | | | Start date and time of the event | | | | | | End date and time of the event | | | |... --- ### Event Ticket Type URL: https://loby.io/rest-api/objects/event-ticket-type Description: Event Ticket Types define admission options for specific events. Set pricing and capacity per event. An event ticket type is a type specification for an event, that is referred to when issuing new event tickets. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Name of the event ticket type | | | | | | Description of the event ticket type | | | | | | Master language of the event ticket type | | | | | | A list of translation objects for the object | | | | | | Price of ticket in lowest unit. Cents for ,... --- ### Event Ticket URL: https://loby.io/rest-api/objects/event-ticket Description: Event Tickets grant admission to specific events. Track attendee information and check-in status. An represents an issued ticket for an event. It references an and can be used to gain access to the event. | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Date for when the event ticket was created | | | | | | Number of the event ticket | | | | (UUIDv4) | | Reference to the Event | | | | (UUIDv4) | | A reference to a that owns the event ticket. Only present if the event ticket is associated with a custom... --- ### Visit URL: https://loby.io/rest-api/objects/visit Description: A Visit represents a single entry to the venue. Visits are either ticket utilizations or customer checkins. A represents a single visit to the venue. A visit is either a ticket utilization (when a ticket is used for entry), an event ticket utilization (when an event ticket is scanned), or a customer checkin (when a member checks in with their membership). | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Unique identifier | | | | | | Timestamp of the visit | | | | | | Type of visit: , , or | | | | | | Number of additional persons accompanying th... --- ### Get Schema URL: https://loby.io/rest-api/endpoint-reference/schema/get Description: Retrieve filterable types and fields for the museum. Use the field names in list query filters. Returns the types and fields you can use in on list endpoints. Field values match the you pass in a filter. Museum custom customer fields appear on the type as UUID field names. Use this together with Querying. | Property | Type | Description | | - | - | - | | | array | Type names that can appear as list resources | | | array | Filterable types for this museum | | | string | Type name (for example , ) | | | array | Fields you can put in | | | string | Filter field name | | | string |... --- ### List Customers URL: https://loby.io/rest-api/endpoint-reference/customer/list Description: Retrieve a paginated list of customers. Filter by email, phone, membership status, and custom fields. You can use this endpoint to retrieve a list of customers. You can use the parameter to filter the list of customers. In addition to using filters, you can also use direct query parameters for specific fields: | Parameter | Type | Description | | - | - | - | | | | Directly query a customer by their member number | | | | Directly query a customer by their email address | | | | When true, each customer includes and | These direct parameters (, ) are more efficient than using filters when... --- ### Get Customer URL: https://loby.io/rest-api/endpoint-reference/customer/get Description: Fetch a single customer by ID. Returns full customer details including memberships and purchase history. If you have an id for a customer, you can use this endpoint to retrieve the customer. The customer includes and nested (with on each). Pass to include and . See the Customer object. --- ### Create Customer URL: https://loby.io/rest-api/endpoint-reference/customer/create Description: Create a new customer record. Set contact information, custom fields, and optional membership assignment. You can create a new customer by providing any of the following fields: | Property | Type | Description | | - | - | - | | | | First name of customer | | | | Last name of customer | | | | Email of customer | | | | Phone number of customer | | | | ISO Country code of phone number | | | | Member number of the customer | | | | Address of customer | | | | Address 2 of customer | | | | Postal code of customer | | | | City of customer | | | | ISO Country code of customer | | | |... --- ### Update Customer URL: https://loby.io/rest-api/endpoint-reference/customer/update Description: Update an existing customer's information. Modify contact details, custom fields, or membership associations. You can update a customer by providing any of the following fields: | Property | Type | Description | | - | - | - | | | | First name of customer | | | | Last name of customer | | | | Member number of the customer | | | | Email of customer | | | | Phone number of customer | | | | ISO Country code of phone number | | | | Address of customer | | | | Address 2 of customer | | | | Postal code of customer | | | | City of customer | | | | ISO Country code of customer | | | | Bir... --- ### Delete Customer URL: https://loby.io/rest-api/endpoint-reference/customer/delete Description: Permanently delete a customer record. This action cannot be undone and removes all associated data. Deletes a customer from the system. --- ### List Membership Types URL: https://loby.io/rest-api/endpoint-reference/membership-type/list Description: Retrieve all available membership types. Returns pricing, benefits, and configuration for each plan. You can use this endpoint to retrieve a list of membership types. Use the and sections to learn more about how to complete this request. --- ### List Memberships URL: https://loby.io/rest-api/endpoint-reference/membership/list Description: Retrieve a paginated list of memberships. Filter by status, type, customer, or validity period. You can use this endpoint to retrieve a list of memberships. Optionally, you can use the parameter to filter the list of memberships. Use the and sections to learn more about how to complete this request. | Field Name | Type | | - | - | | | | | | | | | | | | | | | | | | | | | | | | | --- ### Get Membership URL: https://loby.io/rest-api/endpoint-reference/membership/get Description: Fetch a single membership by ID. Returns full details including customer info and validity dates. You can use this endpoint to retrieve a membership. It will also include the field. --- ### Create Membership URL: https://loby.io/rest-api/endpoint-reference/membership/create Description: Create a new membership for a customer. Assign membership type, set validity period, and configure benefits. You can post a new membership by providing the following fields: | Property | Type | Description | | - | - | - | | * | (UUIDv4) | ID of membership type | | | | Date for when the membership should be valid from. If not provided, it will be set to the current date. | | | | Date for when the membership should be valid to. If not provided, it will be set to the current date + the cycle of the membership type. | | | (UUIDv4) | If the membership is a renewal, then this field should be set to th... --- ### Update Membership URL: https://loby.io/rest-api/endpoint-reference/membership/update Description: Update an existing membership. Modify validity dates, status, or associated customer information. You can update the following fields: , , . --- ### Delete Membership URL: https://loby.io/rest-api/endpoint-reference/membership/delete Description: Delete a membership record. Consider updating status to cancelled instead of permanent deletion. Deletes a membership from the system. --- ### Send Emails URL: https://loby.io/rest-api/endpoint-reference/membership/send-emails Description: Trigger email notifications for memberships. Send welcome emails, renewal reminders, or custom communications. This will send a membership receipt email to the customer. This will send an email regarding cancelling subscription. The variable is the entire data for the qr code e.g. . It needs to be url encoded. So in that means something like this: It will always return a response with the boolean . --- ### List Ticket Types URL: https://loby.io/rest-api/endpoint-reference/ticket-type/list Description: Retrieve all available ticket types. Returns pricing, capacity, and availability for each admission category. You can use this endpoint to retrieve a list of ticket types. --- ### List Tickets URL: https://loby.io/rest-api/endpoint-reference/ticket/list Description: Retrieve a paginated list of tickets. Filter by date, type, customer, or check-in status. You can use this endpoint to retrieve a list of tickets. Optionally, you can use the parameter to filter the list of tickets. Use the and sections to learn more about how to complete this request. | Field Name | Type | | - | - | | | | | | | | | | --- ### Get Ticket URL: https://loby.io/rest-api/endpoint-reference/ticket/get Description: Fetch a single ticket by ID. Returns full ticket details including customer info and validity. If you have an id for a ticket, you can use this endpoint to retrieve the ticket. --- ### Create Ticket URL: https://loby.io/rest-api/endpoint-reference/ticket/create Description: Create a new ticket for admission. Assign ticket type, customer, and validity period. You can post a new ticket by providing the following fields: | Property | Type | Description | | - | - | - | | * | (UUIDv4) | ID of ticket type | | | (UUIDv4) | ID of customer | | | (UUIDv4) | A valid time slot reference for the ticket. Ticket Type and Time Slot should either not have location id or the same. Time Slot should have sufficient capacity. | | | | ID of a ticket reservation. If provided, the reservation will be consumed and its reserved capacity converted to an issued ticket.... --- ### Delete Ticket URL: https://loby.io/rest-api/endpoint-reference/ticket/delete Description: Delete a ticket record. Use for cancellations or refunds. This action cannot be undone. Deletes a ticket from the system. --- ### Create Ticket Reservation URL: https://loby.io/rest-api/endpoint-reference/ticket-reservation/create Description: Reserve capacity temporarily before purchase. Set expiry time and convert to ticket upon payment. Creates a temporary reservation for a ticket. The reservation holds capacity in a time slot (if specified) for 15 minutes while the customer completes checkout. Use this endpoint when you need to reserve a spot before creating the actual ticket, especially for time-slotted tickets where capacity is limited. | Property | Type | Description | | - | - | - | | * | (UUIDv4) | ID of the ticket type to reserve | | | (UUIDv4) | ID of the time slot to reserve capacity in. The ticket type and time slot... --- ### Delete Ticket Reservation URL: https://loby.io/rest-api/endpoint-reference/ticket-reservation/delete Description: Cancel a ticket reservation. Releases held capacity back to availability. Deletes a ticket reservation and releases any reserved capacity in the associated time slot. Use this endpoint when a customer abandons checkout or when you need to cancel a reservation before it expires. | Parameter | Type | Description | | - | - | - | | * | | The ID of the ticket reservation to delete | Returns on success. | Error Code | Description | | - | - | | | The reservation does not exist, has already been used, or has expired | --- ### List Locations URL: https://loby.io/rest-api/endpoint-reference/location/list Description: Retrieve all venue locations. Returns capacity limits, opening hours, and associated ticket types. You can use this endpoint to retrieve a list of locations. --- ### List Time Slots URL: https://loby.io/rest-api/endpoint-reference/time-slot/list Description: Retrieve available time slots. Filter by date, location, and remaining capacity. You can use this endpoint to retrieve a list of time slots. You can query the date with the following formats: , , --- ### List Events URL: https://loby.io/rest-api/endpoint-reference/event/list Description: Retrieve all events. Filter by date range, status, or location. Returns capacity and ticket availability. You can use this endpoint to retrieve a list of events. Optionally, you can use the parameter to filter the list of events. Use the and sections to learn more about how to complete this request. It is default sorted by createdAt DESC. The default and max limit is 100 for events. | Field Name | Type | Description | | - | - | - | | | | The creation timestamp of the event | | | | The start date and time of the event | | | | The end date and time of the event | --- ### Get Event URL: https://loby.io/rest-api/endpoint-reference/event/get Description: Fetch a single event by ID. Returns full event details including ticket types and current capacity. If you have an id for an event, you can use this endpoint to retrieve the event. --- ### List Event Ticket Types URL: https://loby.io/rest-api/endpoint-reference/event-ticket-type/list Description: Retrieve ticket types for a specific event. Returns pricing, availability, and capacity per type. Retrieve a list of ticket types for a specific event. This endpoint returns all published ticket types associated with the given event. --- ### List Event Tickets URL: https://loby.io/rest-api/endpoint-reference/event-ticket/list Description: Retrieve tickets for a specific event. Filter by ticket type, customer, or check-in status. You can use this endpoint to retrieve a list of event tickets. Optionally, you can use the parameter to filter the list of event tickets. Use the and sections to learn more about how to complete this request. | Field Name | Type | Description | | - | - | - | | | | The creation date of the event ticket | | | | The ID of the event | | | | The ID of the event ticket type | --- ### Get Event Ticket URL: https://loby.io/rest-api/endpoint-reference/event-ticket/get Description: Fetch a single event ticket by ID. Returns attendee details, ticket type, and check-in status. If you have an id for an event ticket, you can use this endpoint to retrieve the event ticket. --- ### List Visits URL: https://loby.io/rest-api/endpoint-reference/visit/list Description: Retrieve a paginated list of visits. Filter by date, number of persons, or get all visits. You can use this endpoint to retrieve a list of visits. Optionally, you can use the parameter to filter the list of visits. A visit represents a single entry to the venue. Each visit has a that indicates whether it was a ticket utilization (), an event ticket utilization (), or a customer checkin (). Use the and sections to learn more about how to complete this request. | Field Name | Type | | - | - | | | | | | | | | | | | | | | | --- ## JavaScript SDK Embed Loby checkout flows in your website. Handle authentication, ticket purchases, and membership signups with our JavaScript SDK. ### Overview URL: https://loby.io/javascript-sdk/getting-started/overview Description: Introduction to the Loby JavaScript SDK. Embed ticket purchases and membership signups directly in your website. The Loby JavaScript SDK allows you to embed Loby's membership, ticketing, and event functionality directly into your website. With just a few lines of code, you can enable user authentication, checkout flows, and more. - User Authentication - Let users sign in and manage their accounts - Membership Checkout - Sell memberships directly on your website - Ticket Sales - Sell tickets and day passes - Event Ticketing - Sell event tickets with time slot selection - Checkout Flows - Open a named checko... --- ### Installation URL: https://loby.io/javascript-sdk/getting-started/installation Description: Add the Loby SDK via CDN script tag. Includes on-demand loading on first checkout click. The Loby JavaScript SDK is loaded via a script tag from our CDN. No npm package or build step is required. The recommended approach is to load the SDK when your page loads. Add the following code to your HTML, typically before the closing tag: Replace with your SDK client ID from Settings > Developer Settings in Loby Cloud. Everything is loaded and initialized in the background while the user browses your page. By the time they click a checkout button, the SDK is typically ready. See Initializ... --- ### Initialization URL: https://loby.io/javascript-sdk/getting-started/initialization Description: Configure and initialize the SDK with your client ID. Use waitForCheckoutReady before opening checkout. Before using checkout, you must initialize the SDK with your configuration. Call from — the SDK invokes this function automatically when the script loads. can only run once. If it is called again, the SDK returns immediately without re-initializing. | Parameter | Type | Required | Description | | - | - | - | - | | | string or number | Yes | Your Loby SDK client ID. Found in Settings > Developer Settings in your Loby dashboard. | | | string | No | Accepted for compatibility. Unused; there is... --- ### Sign In URL: https://loby.io/javascript-sdk/authentication/sign-in Description: Authenticate users with email or phone. Enable passwordless login and remember returning customers. The SDK provides a built-in sign-in dialog that handles user authentication. This opens a modal dialog where users can sign in or create an account. The dialog handles: - Email sign-in with a verification code - Account creation - Session management To respond when a user signs in, use the event listener: 1. User clicks your sign-in button 2. You call 3. SDK displays the sign-in modal 4. User enters email and a verification code 5. SDK emits event 6. Your code receives the event and can fetch... --- ### Sign Out URL: https://loby.io/javascript-sdk/authentication/sign-out Description: End the current user session. Clear stored credentials and reset the checkout state. Sign out the currently authenticated user. This clears the user's session and any stored authentication tokens. --- ### Get User URL: https://loby.io/javascript-sdk/authentication/get-user Description: Retrieve the current authenticated user. Returns identity fields such as name, email, phone, and member number. Retrieve the currently authenticated user's information. Returns the current user object if signed in, or if not authenticated. When a user is signed in, returns: | Property | Type | Description | | - | - | - | | | string | User id | | | string | First name | | | string | Last name | | | string | Email | | | string | Phone number | | | string | Phone country code | | | number | Member number, when the user has one | It does not return memberships or purchase history. --- ### Memberships URL: https://loby.io/javascript-sdk/checkout/memberships Description: Embed membership signup and renewal flows. Display plans, handle payments, and activate memberships instantly. Open a checkout flow for membership purchases. Open checkout for the first membership type that is available in the online store (sorted by ): If you omit , the SDK does not open a browse-all picker. It auto-selects that first eligible type and opens checkout for it. To open checkout for a specific membership type: This is useful when you have a "Buy Now" button for a specific membership tier. | Parameter | Type | Required | Description | | - | - | - | - | | | string | Yes | Must be | | | str... --- ### Tickets URL: https://loby.io/javascript-sdk/checkout/tickets Description: Embed ticket purchase flows. Show availability, collect visitor info, and process payments seamlessly. Open a checkout flow for ticket or day pass purchases. This opens the ticket checkout modal where users can select ticket types, quantities, and complete their purchase. | Parameter | Type | Required | Description | | - | - | - | - | | | string | Yes | Must be | | | array | No | Array of ticket types to pre-select. Each item has (string) and (number, defaults to 1). If omitted, the checkout opens with an empty selection. | You can pre-populate the checkout with specific ticket types and qua... --- ### Events URL: https://loby.io/javascript-sdk/checkout/events Description: Embed event ticket purchases. Display event details, time slots, and handle event-specific checkout flows. Open a checkout flow for event ticket purchases. Events typically have specific dates, times, and capacity limits. This opens the event checkout modal for the specified event, allowing users to select time slots (if applicable) and purchase tickets. | Parameter | Type | Required | Description | | - | - | - | - | | | string | Yes | Must be | | | string | Yes | UUID of the event | | | array | No | Array of event ticket types to pre-select. Each item has (string) and (number, defaults to 1).... --- ### Checkout Flows URL: https://loby.io/javascript-sdk/checkout/checkout-flows Description: Open a named checkout flow by id. Mix memberships, tickets, events, products, and donations in one modal. Open a custom checkout flow that you authored in Loby Cloud. A flow can mix memberships, gift cards, tickets, events, products, donations, and marketing consent in the order you defined. Membership add-ons on a MEMBERSHIP step work the same way as on the hosted checkout flow page. Call before . If checkout is not ready, returns without opening a dialog and without throwing. | Parameter | Type | Required | Description | | - | - | - | - | | | string | Yes | Must be | | | string | Yes | UUID o... --- ### Event Listeners URL: https://loby.io/javascript-sdk/events/event-listeners Description: Listen for SDK events in your application. Handle sign-in, checkout completion, and order refunds. The SDK emits events when important actions occur. Use event listeners to respond to these actions in your application. returns an unsubscribe function. You can call that, or pass the same function to . > Note: You must pass the same function reference to remove a listener. Anonymous functions cannot be removed. | Event | Description | | - | - | | | Fired when a user signs in | | | Fired when an order (membership, ticket, or event) is completed | | | Fired when an order is refunded or cancel... --- ### Language URL: https://loby.io/javascript-sdk/utilities/language Description: Configure SDK language and localization. Support multiple languages and customize text strings. Set the language used by the SDK's UI components. This changes the language of all SDK UI elements (dialogs, buttons, forms, etc.) to the specified language. | Parameter | Type | Description | | - | - | - | | | string | ISO 639-1 language code (e.g., , , ) | You can also set the initial language during initialization: If not specified, the SDK does not set language from the browser. Pass on or call when you want a specific locale. If your website supports multiple languages, sync the SDK lan... --- ## MCP Connect Cursor, Claude, or other MCP clients to Loby. Manage templates and seating maps as the signed-in museum staff user. ### Overview URL: https://loby.io/mcp/getting-started/overview Description: What the Loby staff MCP does. Templates, seating maps, and museums the signed-in user can manage. The Loby MCP is a Model Context Protocol server for museum staff. Connect Cursor, Claude, or another MCP client and work as the signed-in Loby Cloud user: list museums you can manage, edit email/PDF/wallet/app/website templates, and build seating maps. It is not a public guest assistant. Tickets, customers, and memberships stay on the REST API. Tasks stay on the CLI. The host is . The MCP speaks Streamable HTTP at . Health is open at . Sign in with your Loby Cloud account (Authentication). The s... --- ### Connect URL: https://loby.io/mcp/getting-started/connect Description: Connect Cursor, Claude, or MCP Inspector to https://mcp.loby.io. Point an MCP client at . Transport is Streamable HTTP. Sign-in uses OAuth; the login UI is Loby Cloud. Add a remote MCP server with URL . When the client connects without a token, Loby returns and OAuth metadata. Cursor registers, opens Loby Cloud, and you sign in (or confirm if you already have a session). After that, tool calls run as your user. Local development can use instead. That is the staff MCP running on your machine; it still needs a valid user token (see Authentication). Use a cust... --- ### Authentication URL: https://loby.io/mcp/getting-started/authentication Description: OAuth with a Loby Cloud account. Tokens are forwarded so museum permissions still apply. The staff MCP authenticates you, the Loby Cloud user. Every tool call forwards that Bearer token to GraphQL, so museum roles and still apply. You only see museums you can manage. The MCP is both the OAuth authorization server and the resource server. Login UI is the Loby Cloud Gate (). 1. The client without → with . 2. The client reads protected-resource and authorization-server metadata, registers (), and opens (PKCE S256, scope ). 3. The MCP redirects to Loby Cloud with a ticket (). 4. If... --- ### Languages URL: https://loby.io/mcp/concepts/languages Description: Default language, translations, and how create and update write names. returns each museum's default language () and the languages it supports (). Those are two-letter codes such as or . A seating map, a level, and an entry each carry the language their name is written in (). lists the same name in other languages, so reading an item shows every translation it has. Create and update tools that are translatable take a sibling argument next to (not inside ). - Omit (or pass the item's own language on update) to write the museum's default language on the item its... --- ### Templates URL: https://loby.io/mcp/concepts/templates Description: Working copies, node trees, schema, and publishing. Emails, PDFs, wallet passes, the app, the website, checkout styling, thermal slips, and seating-map drawings are trees of nodes. Each template has a type string (from ) and a working copy — the draft tree. Changes stay in that working copy until someone publishes in Loby Cloud. Guests keep seeing the last published version. 1. — get the museum id (match by name). Do not guess ids. 2. — every template of that museum. Optionally filter by . 3. — start with , then a kind guide (, , and so on). 4... --- ### Seating Maps URL: https://loby.io/mcp/concepts/seating-maps Description: Locations, levels, entries, capacities, and visual layouts. A seating map belongs to a location. Find locations and existing maps with ( for all locations of a museum, or for one location). The map is organised in levels, for example Section → Row → Seat. Each level has a name (), an from outermost to innermost, and (whether guests see the level). Level names are unique within a map. The places on a map form a tree of entries. Every entry sits on one level (), has a label (, for example , , ), and points at the entry one level up (). Top-level entrie... --- ### Museums URL: https://loby.io/mcp/tool-reference/museums Description: List museums the signed-in user can manage. List the museums the signed-in user can manage, each with its default language () and the languages it supports. Use this to find a museum id from its name before listing templates or seating maps, and to know which language a name is written in. Optionally pass to keep matches. | Argument | Type | Required | Description | | - | - | - | - | | | string | No | Museum name to match (case-insensitive, partial). Omit to list all. | Returns . Each museum has , , , , and . --- ### Locations URL: https://loby.io/mcp/tool-reference/locations Description: List locations and the seating maps on each. List the locations of a museum, or one location, with the seating maps on each. Use this first to find seating map ids. Pass for all locations of a museum, or for a single location. | Argument | Type | Required | Description | | - | - | - | - | | | string | No | Museum id. Lists all locations for the museum. | | | string | No | Location id. Returns just that location. | Each location includes , , and (, , , , , , , ). --- ### Seating Charts URL: https://loby.io/mcp/tool-reference/seating-charts Description: Get, create, update, and delete seating maps. Create and update wrap fields in . Translatable tools also take a sibling — see Languages. A map stays on the location and museum it was created for. Get returns the full structure: levels (), entries (), and capacities (). Get a seating map with its full structure: its levels (organizationDimensions, e.g. Section, Row, Seat), the tree of entries (organizationNodes), and the capacities (capacityNodes). | Argument | Type | Required | Description | | - | - | - | - | | | string | Yes | Seating ch... --- ### Levels, Entries, Capacities URL: https://loby.io/mcp/tool-reference/levels-entries-capacities Description: Build the seating-map tree: levels, entries, and capacities. Build the seating-map tree after creating the map. See Seating maps. Create and update wrap fields in . Levels and entries are translatable ( is a sibling of ). Capacities are not. Get one level of a seating map, for example Section, Row or Seat. | Argument | Type | Required | Description | | - | - | - | - | | | string | Yes | Organization dimension id | Create a level on a seating map, for example Section, Row or Seat. Level names are unique within a map. sorts the levels from outermost to in... --- ### Templates URL: https://loby.io/mcp/tool-reference/templates Description: List, get, create, and edit template working copies. See Templates for working copy vs publish, schema, and workflow. Get the museum id from first. List every template of a museum. Optionally filter by type (the type string from ). | Argument | Type | Required | Description | | - | - | - | - | | | string | Yes | Museum id from | | | string | No | Template type string from | Get one template and its working copy (the draft tree of nodes). Look this up before you change anything. | Argument | Type | Required | Description | | - | - | - | - | |... --- ### Content, Fonts, Photos URL: https://loby.io/mcp/tool-reference/content-fonts-photos Description: Content models and items, uploaded fonts, and photo lookup. Helpers for ids you put on template nodes and options. See Templates. List the content models of a museum. Templates can bind nodes and content roots to these models. | Argument | Type | Required | Description | | - | - | - | - | | | string | Yes | Museum id | Returns . Each model includes , , , , , , and (, , , , ). List content items of a museum. Optionally pass a model id to keep only that model. Use these ids in nodes and content roots. | Argument | Type | Required | Description | | - |... --- ### Guides URL: https://loby.io/mcp/tool-reference/guides Description: On-demand guides for templates and seating-map drawings. Guides are also MCP resources at . Open a guide by name. With no name, lists the guides you can open. Start with when changing templates, or for a seating map drawing. | Argument | Type | Required | Description | | - | - | - | - | | | string | No | Guide name, for example | With no , returns . With a known name, returns . Unknown name returns . | name | title | | - | - | | | Templates | | | Email templates | | | PDF and print templates | | | Wallet passes | | | Seating map layout | | |... --- ### Seating Map Layout URL: https://loby.io/mcp/tool-reference/seating-map-layout Description: Obsolete layout tools. Prefer template tools. These five tools still attach a visual drawing to a seating map. They are obsolete. Prefer (seating chart kind from ), , , , and , then set the map with . Open the guide for node rules (, , with , , and rotation; a should include ). Obsolete. Prefer (seating chart kind from ) and set the map template id. Create a visual layout for a seating map that does not have one yet. The layout starts empty. Does not go live for guests. | Argument | Type | Required | Description | | - | - | - | - | |... --- ## CLI Install the Loby CLI, see where files and skills land, and register the skill with OpenClaw. ### Overview URL: https://loby.io/cli/getting-started/overview Description: What the Loby CLI does. List museums, then list, create, and update tasks. The Loby CLI lists every museum, then lists, creates, and updates tasks across museums. Authenticate with a platform API key from Admin → Tokens (). Museum REST keys from Developer Settings do not work with this CLI. The installer prints the next command if this shell needs on . Full steps: Installation. There is a soft-delete command (). Lists hide deleted tasks unless . Cancel a task with . Dates are Unix milliseconds UTC. is Slate JSON (same as the web editor), not markdown. Details are in... --- ### Installation URL: https://loby.io/cli/getting-started/installation Description: Install the CLI, where binaries and skills are placed, and how to authenticate. The installer copies the CLI, a small JSON helper, and the skill file. It does not register the skill with OpenClaw. See Skills for that. Requires , , and . The installer prints the next command if this shell needs on . Mint a platform key in Admin → Tokens with . Then: Paste the secret (not the key id). Do not put it in or . At login, overrides the default GraphQL URL (). Use this for local GraphQL. --- ### Skills URL: https://loby.io/cli/getting-started/skills Description: Where the Loby skill lives on disk and how to install it for an OpenClaw agent. Installing the CLI copies the skill to disk. OpenClaw (and other agents) will not use it until you register that folder for a specific agent. Never install the Loby skill with . Attach it to one agent only. After Installation: The folder OpenClaw wants is the directory that contains : The same file in git: List agents, then install for one id: From a repo checkout instead of : Kurt only (replace with the real agent id from ): Do not do this — every agent on the box (including Betina) would get t... --- ## Scanner Web Service Build custom ticket scanning solutions. Receive scan events via webhooks and control scanner responses in real-time. ### Overview URL: https://loby.io/scanner-web-service/getting-started/overview Description: Introduction to the Scanner Web Service. Learn how to build custom validation logic for ticket and membership scanning. Loby Scanner, which is available for iOS and Android, is commonly used to verify, validate and lookup members, tickets etc. But you can actually overwrite the regular behaviour by implementing a web service, that the scanner will communicate with. This allows for using the scanner to scan various barcodes and customizing the behaviour when doing so. 1. The Scanner recognizes a barcode (QR, Code128, EAN-13 etc.) 2. The Scanner sends the barcode information to the endpoint 3. Your Web Service read... --- ### Authentication URL: https://loby.io/scanner-web-service/getting-started/authentication Description: Secure your scanner webhook endpoint. Verify request signatures to ensure scans come from Loby scanners. In order to cut down the number of round trips, the requests are sent directly from the scanner client. That means that it would be impossible to predict the IP of the incoming requests and thereby only whitelist certain IP addresses to prevent DDoS, exploits etc. Instead, each request includes an HMAC that the web service can use to verify the authenticity of the request. To generate the HMAC and verify it in Node.js, you can do the following: - Always verify the HMAC before processing any requ... --- ### Receive Scan URL: https://loby.io/scanner-web-service/api-reference/receive-scan Description: Handle incoming scan events from Loby scanners. Parse ticket data, customer info, and scan metadata. The following call will be requested when the scanner has successfully recognized a barcode: | Property | Type | Default | Description | Example | | - | - | - | - | - | | | (UUIDv4) | | Id of scan | | | | | | Base 64 encoded HMAC of the id of the scan to verify authenticity | | | | (UUIDv4) | | Id of the scanner, that can be looked up | | | | | | Type of barcode (see supported types below) | | | * | | | Barcode data | | - - - - - - - - - - - - - - - - - - - --- ### Respond to Scan URL: https://loby.io/scanner-web-service/api-reference/respond-to-scan Description: Send response to control scanner behavior. Accept, reject, or show custom messages on the scanner display. When you receive a scan request, you need to return the following data: | Property | Type | Default | Description | Example | | - | - | - | - | - | | * | | | Whether the scanner should react successfully or fail | | | | | | Message that the scanner will show | | | | | | Which icon to show. Can be omitted. | | - - Shows a checkmark icon (for successful scans) - - Shows a warning icon (for failed or attention-needed scans) - Always return a meaningful message to help the scanner opera... --- ## API Reference - Base URL: https://api.loby.io - Version: v1 - Authentication: API Key via Authorization header - Documentation: https://loby.io For complete API documentation, visit the URLs listed above.