# OneTapCheckIn — how to use (mcp.ai)

Connect your OneTapCheckIn account and use 19 tools for event management straight from your AI agent. Connect with your own API key. OneTapCheckIn helps organizations manage events, attendee profiles, check-ins, passports, integrations, and attendance alerts.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_onetapcheckin?ms=1787296080000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `onetapcheckin_add_participants`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/onetapcheckin`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/onetapcheckin/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/onetapcheckin/add/participants` — Add one or more existing profiles to one or more lists without checking them in. This deliberately excludes add-all-profiles and initial attendance fields to prevent unexpectedly broad or historical m
  - body: { source?: string, list_ids: string[], profile_ids: string[], prevent_duplicates?: boolean }
- `POST https://api.mcp.ai/api/onetapcheckin/create/list` — Create an event/check-in list. The provider currently creates open registration even when disabled during creation, so this tool does not expose that unreliable flag; update the list afterward when re
  - body: { date: string, name: string, notes?: string, end_date?: string, metadata?: object, parent_id?: string, time_zone?: string, description?: string, check_in_option?: string, check_out_option?: string, check_out_enabled?: boolean }
- `POST https://api.mcp.ai/api/onetapcheckin/create/profile` — Create one person profile without adding it to a list. OneTapCheckIn automatically creates a global passport. This tool does not send a confirmation email.
  - body: { name: string, email?: string, notes?: string, phone?: string, source?: string, address?: string, favorite?: boolean, force_create?: boolean, check_in_code?: string, custom_fields?: object, custom_barcode?: string, custom_barcode_format?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/create/profiles` — Create 1 to 25 person profiles in input order using one provider request per profile. Confirmation emails are always disabled. Provider validation or conflict failures are reported per item and later 
  - body: { profiles: object[] }
- `POST https://api.mcp.ai/api/onetapcheckin/delete/list` — Permanently delete one list by ID. This is intentionally limited to one known list and never invokes the provider's bulk or delete-all operation.
  - body: { list_id: string }
- `POST https://api.mcp.ai/api/onetapcheckin/delete/profile` — Permanently delete one profile. This also removes the profile's automatically created global passport and never invokes the provider's bulk or delete-all operation.
  - body: { profile_id: string }
- `POST https://api.mcp.ai/api/onetapcheckin/find/lists` — Get one list by exact ID or search the connected organization's lists. Search returns one page and a continuation cursor.
  - body: { list_id?: string, archived?: boolean, end_date?: integer, list_type?: string, page_size?: integer, profile_id?: string, sort_field?: string, start_date?: integer, next_cursor?: string, search_text?: string, parent_list_id?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/find/participants` — Get one participant by exact ID or search attendance records by list, profile, status, text, or date range. Search returns one page and a continuation cursor.
  - body: { list_ids?: string[], page_size?: integer, checked_in?: boolean, sort_field?: string, checked_out?: boolean, next_cursor?: string, profile_ids?: string[], search_text?: string, check_in_after?: integer, participant_id?: string, sort_direction?: string, check_in_before?: integer, check_out_after?: integer, check_out_before?: integer }
- `POST https://api.mcp.ai/api/onetapcheckin/find/profiles` — Get one profile by ID or search profiles by identity, list, passport, or check-in code. Returns one page and a continuation cursor.
  - body: { list_id?: string, page_size?: integer, object_ids?: string[], profile_id?: string, next_cursor?: string, passport_id?: string, search_text?: string, search_type?: string, check_in_code?: string, search_domains?: string[], sort_direction?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/get/organization` — Return the organization associated with the connected API key. The response does not expose the organization's subscription tier.
- `POST https://api.mcp.ai/api/onetapcheckin/get/profile/custom/fields` — Return the organization's configured profile custom-field definitions so an agent can use valid field names and value types when creating or updating profiles.
- `POST https://api.mcp.ai/api/onetapcheckin/list/alerts` — Return one page of organization alert and automation rules together with outbound check-in confirmation settings.
  - body: { page_size?: integer, descending?: boolean, next_cursor?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/list/passports` — List one page of standard passports for exactly one profile or participant. Use next_page to continue when a full page is returned; the provider does not support an unfiltered list-all call.
  - body: { page?: integer, active?: boolean, page_size?: integer, profile_id?: string, custom_barcode?: boolean, participant_id?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/remove/participant` — Remove one participant record from its list. This deletes the list membership and attendance record, not the underlying profile.
  - body: { list_id?: string, participant_id: string }
- `POST https://api.mcp.ai/api/onetapcheckin/update/list` — Partially update a list. Omitted fields are preserved even though the provider uses PUT.
  - body: { date?: string, name?: string, list_id: string, end_date?: string, metadata?: object, time_zone?: string, description?: string, check_in_option?: string, check_out_option?: string, check_out_enabled?: boolean, is_open_registration?: boolean, open_registration_setting?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/update/participant` — Update metadata on one participant record without performing check-in or checkout. Omitted fields are preserved.
  - body: { source?: string, location?: object, time_zone?: string, utc_offset?: integer, check_in_notes?: string, participant_id: string, check_in_method?: string, check_out_notes?: string, check_out_method?: string }
- `POST https://api.mcp.ai/api/onetapcheckin/update/participant/attendance` — Check in, check out, undo check-in, or undo checkout for one known participant. These operations change attendance history; undo actions retain attachments. This tool never sends visitor alerts.
  - body: { notes?: string, method?: string, list_id?: string, location?: object, operation: string, time_zone?: string, timestamp?: integer, utc_offset?: integer, participant_id: string }
- `POST https://api.mcp.ai/api/onetapcheckin/update/participant/attendance/batch` — Apply one shared check-in, checkout, undo check-in, or undo checkout operation to 1 to 25 participants in input order, using one provider request per item. Items execute independently: validation, not
  - body: { operation: string, participants: object[] }
- `POST https://api.mcp.ai/api/onetapcheckin/update/profile` — Partially update one profile. Omitted fields are preserved even though the provider uses PUT.
  - body: { name?: string, email?: string, notes?: string, phone?: string, address?: string, favorite?: boolean, profile_id: string, check_in_code?: string, custom_fields?: object }

## Example prompts
- "What can I do in OneTapCheckIn?"
- "Show me a summary of my OneTapCheckIn account"

## More
- Page: https://mcp.ai/onetapcheckin
- Agent spec (llms.txt): https://mcp.ai/onetapcheckin/llms.txt
- Postman collection: https://mcp.ai/onetapcheckin/postman.json
