{
  "info": {
    "name": "OneTapCheckIn — mcp.ai",
    "description": "REST API for the OneTapCheckIn MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/onetapcheckin",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "onetapcheckin_add_participants",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/participants",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "participants"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"source\": \"\",\n  \"list_ids\": \"\",\n  \"profile_ids\": \"\",\n  \"prevent_duplicates\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_create_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "list"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"date\": \"\",\n  \"name\": \"\",\n  \"notes\": \"\",\n  \"end_date\": \"\",\n  \"metadata\": {},\n  \"parent_id\": \"\",\n  \"time_zone\": \"\",\n  \"description\": \"\",\n  \"check_in_option\": \"\",\n  \"check_out_option\": \"\",\n  \"check_out_enabled\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_create_profile",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/profile",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "profile"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"email\": \"\",\n  \"notes\": \"\",\n  \"phone\": \"\",\n  \"source\": \"\",\n  \"address\": \"\",\n  \"favorite\": false,\n  \"force_create\": false,\n  \"check_in_code\": \"\",\n  \"custom_fields\": {},\n  \"custom_barcode\": \"\",\n  \"custom_barcode_format\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_create_profiles",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/profiles",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "profiles"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"profiles\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_delete_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "list"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_delete_profile",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/profile",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "profile"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"profile_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_find_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "lists"
          ]
        },
        "description": "Get one list by exact ID or search the connected organization's lists. Search returns one page and a continuation cursor.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": \"\",\n  \"archived\": false,\n  \"end_date\": 0,\n  \"list_type\": \"\",\n  \"page_size\": 0,\n  \"profile_id\": \"\",\n  \"sort_field\": \"\",\n  \"start_date\": 0,\n  \"next_cursor\": \"\",\n  \"search_text\": \"\",\n  \"parent_list_id\": \"\",\n  \"sort_direction\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_find_participants",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/participants",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "participants"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"list_ids\": \"\",\n  \"page_size\": 0,\n  \"checked_in\": false,\n  \"sort_field\": \"\",\n  \"checked_out\": false,\n  \"next_cursor\": \"\",\n  \"profile_ids\": \"\",\n  \"search_text\": \"\",\n  \"check_in_after\": 0,\n  \"participant_id\": \"\",\n  \"sort_direction\": \"\",\n  \"check_in_before\": 0,\n  \"check_out_after\": 0,\n  \"check_out_before\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_find_profiles",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/profiles",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "profiles"
          ]
        },
        "description": "Get one profile by ID or search profiles by identity, list, passport, or check-in code. Returns one page and a continuation cursor.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": \"\",\n  \"page_size\": 0,\n  \"object_ids\": \"\",\n  \"profile_id\": \"\",\n  \"next_cursor\": \"\",\n  \"passport_id\": \"\",\n  \"search_text\": \"\",\n  \"search_type\": \"\",\n  \"check_in_code\": \"\",\n  \"search_domains\": \"\",\n  \"sort_direction\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_get_organization",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/organization",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "organization"
          ]
        },
        "description": "Return the organization associated with the connected API key. The response does not expose the organization's subscription tier.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_get_profile_custom_fields",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/profile/custom/fields",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "profile",
            "custom",
            "fields"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_list_alerts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/alerts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "alerts"
          ]
        },
        "description": "Return one page of organization alert and automation rules together with outbound check-in confirmation settings.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"page_size\": 0,\n  \"descending\": false,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_list_passports",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/passports",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "passports"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"page\": 0,\n  \"active\": false,\n  \"page_size\": 0,\n  \"profile_id\": \"\",\n  \"custom_barcode\": false,\n  \"participant_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_remove_participant",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/remove/participant",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "remove",
            "participant"
          ]
        },
        "description": "Remove one participant record from its list. This deletes the list membership and attendance record, not the underlying profile.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": \"\",\n  \"participant_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_update_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "list"
          ]
        },
        "description": "Partially update a list. Omitted fields are preserved even though the provider uses PUT.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"date\": \"\",\n  \"name\": \"\",\n  \"list_id\": \"\",\n  \"end_date\": \"\",\n  \"metadata\": {},\n  \"time_zone\": \"\",\n  \"description\": \"\",\n  \"check_in_option\": \"\",\n  \"check_out_option\": \"\",\n  \"check_out_enabled\": false,\n  \"is_open_registration\": false,\n  \"open_registration_setting\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_update_participant",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/participant",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "participant"
          ]
        },
        "description": "Update metadata on one participant record without performing check-in or checkout. Omitted fields are preserved.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"source\": \"\",\n  \"location\": {},\n  \"time_zone\": \"\",\n  \"utc_offset\": 0,\n  \"check_in_notes\": \"\",\n  \"participant_id\": \"\",\n  \"check_in_method\": \"\",\n  \"check_out_notes\": \"\",\n  \"check_out_method\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_update_participant_attendance",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/participant/attendance",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "participant",
            "attendance"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"notes\": \"\",\n  \"method\": \"\",\n  \"list_id\": \"\",\n  \"location\": {},\n  \"operation\": \"\",\n  \"time_zone\": \"\",\n  \"timestamp\": 0,\n  \"utc_offset\": 0,\n  \"participant_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_update_participant_attendance_batch",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/participant/attendance/batch",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "participant",
            "attendance",
            "batch"
          ]
        },
        "description": "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": {
          "mode": "raw",
          "raw": "{\n  \"operation\": \"\",\n  \"participants\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "onetapcheckin_update_profile",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/profile",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "profile"
          ]
        },
        "description": "Partially update one profile. Omitted fields are preserved even though the provider uses PUT.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"email\": \"\",\n  \"notes\": \"\",\n  \"phone\": \"\",\n  \"address\": \"\",\n  \"favorite\": false,\n  \"profile_id\": \"\",\n  \"check_in_code\": \"\",\n  \"custom_fields\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}