Skip to main content

BoothMaven - Zapier Integration API Documentation (OpenAPI 3.0)

Specification: OpenAPI 3.0.3 / Zapier App v1.0.0
Compliance: Zapier Platform Publishing Requirements - Section 5.2 (App APIs are documented)
Contact / Developer Support: [email protected] • BoothMaven.com

Overview

Official, comprehensive API documentation covering all endpoints for BoothMaven’s Zapier integration. BoothMaven captures leads, digital business cards, and event engagement data in real-time. This API enables seamless OAuth 2.0 authentication, REST Hook event streaming, sample polling, and lead creation between BoothMaven and 6,000+ apps on Zapier.

Environment Base URLs

General Conventions

  • Data Format: application/json (except OAuth token exchange which uses application/x-www-form-urlencoded)
  • Authentication: OAuth 2.0 Authorization Code Grant (Authorization: Bearer <access_token>)

Table of Contents

  1. Authentication (OAuth 2.0)
  2. Account & Connection Test
  3. Trigger: New Contact (REST Hooks)
  4. Action: Create Contact
  5. Trigger: New Meeting (REST Hooks)
  6. Action: Create Meeting
  7. Error Handling & HTTP Status Codes
  8. OpenAPI 3.0.3 Specification (JSON)

1. Authentication (OAuth 2.0)

BoothMaven uses industry-standard OAuth 2.0 Authorization Code Grant powered by Laravel Passport. Users authenticate via the BoothMaven consent screen, allowing Zapier to securely receive an authorization code and exchange it for a long-lived Bearer access token and refresh token.

Scopes


GET /oauth/authorize

User Authorization & Consent Screen Directs users to log in to BoothMaven and approve Zapier access. Once authorized, BoothMaven redirects back to Zapier’s redirect_uri with an authorization code and the original state parameter.

Query Parameters

Responses

  • 302 Found: Redirects to redirect_uri?code=...&state=... upon user authorization.
  • 400 Bad Request: Invalid client ID or redirect URI mismatch.

POST /oauth/token

Token Exchange & Refresh Exchanges an authorization code for an access token and refresh token, or issues a new access token when the current token expires.

Request Headers

Request Body Parameters (application/x-www-form-urlencoded)

Example Request Body

Response (200 OK - application/json)

Error Responses

  • 400 Bad Request: Invalid grant, invalid credentials, or expired authorization code.
  • 401 Unauthorized: Client authentication failed.

2. Account & Connection Test

GET /api/zapier/me

Get Authenticated User Profile (Test Connection) Used by Zapier when a user connects their account to verify the OAuth token is valid and to construct dynamic connection labels such as {{email}} or {{name}} ({{email}}) (e.g. [email protected] or Jane Doe ([email protected])). Note: Zapier publishing rules require omitting the app name from the connection label.

Security

Requires Bearer token authentication:

Response (200 OK - application/json)

Field Definitions

Error Responses

  • 401 Unauthorized: Missing, invalid, or expired Bearer token.

3. Trigger: New Contact (REST Hooks)

The New Contact trigger is implemented using Zapier REST Hooks. Zapier registers a subscription URL when the Zap is enabled. BoothMaven dispatches leads immediately when captured at events or digital cards.

POST /api/zapier/hooks/contacts/subscribe

Subscribe to New Contact Webhooks Called by Zapier when a Zap is turned ON. Subscribes the provided target URL to receive real-time contact events.

Security

  • Authorization: Bearer <access_token>

Request Body (application/json)

Note: Both targetUrl (camelCase) and target_url (snake_case) are supported.

Response (201 Created - application/json)

Status Codes

  • 201 Created: Subscription created successfully.
  • 401 Unauthorized: Missing or invalid Bearer token.
  • 422 Unprocessable Entity: Missing or invalid targetUrl.

DELETE /api/zapier/hooks/contacts/subscribe

Unsubscribe from Webhooks Called by Zapier when a Zap is turned OFF, paused, or deleted. Removes the subscription so no further webhooks are dispatched.

Security

  • Authorization: Bearer <access_token>

Request Body (application/json)

Note: Accepts either id, targetUrl, or target_url.

Response (200 OK - application/json)

Status Codes

  • 200 OK: Webhook subscription removed successfully.
  • 401 Unauthorized: Missing or invalid Bearer token.
  • 422 Unprocessable Entity: Neither id nor targetUrl provided.

GET /api/zapier/contacts (Perform List / Sample Data)

List Recent Contacts (Sample Data for Zap Editor) Called by Zapier during Zap configuration (when the user clicks “Test trigger”). Returns up to 20 of the user’s most recent contacts with event context so users can map fields into downstream actions before live leads arrive.

Security

  • Authorization: Bearer <access_token>

Response (200 OK - Array of Contacts)


Outbound Webhook Delivery (Payload)

POST {targetUrl} When a new contact is captured in BoothMaven (via live QR badge scanning, digital business card exchange, or event check-in), BoothMaven sends an HTTP POST request with this JSON payload directly to Zapier’s registered targetUrl.

Delivered Webhook Payload

Contact Schema Fields


4. Action: Create Contact

Allows external applications (Google Sheets, CRM forms, Typeform, Webflow) to push contacts directly into the user’s BoothMaven contact book.

POST /api/zapier/contacts

Create New Contact (Inbound Action) Creates a new contact record associated with the authenticated BoothMaven user.

Security

  • Authorization: Bearer <access_token>

Request Body Schema (application/json)

Sample Request Body

Response (201 Created - application/json)

Error Responses

  • 401 Unauthorized: Missing or invalid Bearer token.
  • 422 Unprocessable Entity: Missing required fields (first_name) or invalid data format.

5. Trigger: New Meeting (REST Hooks)

The New Meeting trigger uses Zapier REST Hooks. When a user turns on a Zap in Zapier, Zapier registers a subscription URL with BoothMaven. When a meeting is scheduled in BoothMaven (via web, mobile, public booking link, or API), BoothMaven delivers the meeting payload to all subscribed URLs in real-time.

5.1 Subscribe to Meeting Webhook

Request

  • Method: POST
  • URL: /api/zapier/hooks/meetings/subscribe
  • Headers:
    • Authorization: Bearer <access_token>
    • Content-Type: application/json
    • Accept: application/json
  • Body:

Response (201 Created)


5.2 Unsubscribe from Meeting Webhook

Called by Zapier when a Zap is turned off or deleted.

Request

  • Method: DELETE
  • URL: /api/zapier/hooks/meetings/subscribe
  • Headers:
    • Authorization: Bearer <access_token>
    • Content-Type: application/json
    • Accept: application/json
  • Body:

Response (200 OK)


5.3 Perform List (Sample Meetings)

Called by Zapier in the Zap Editor to fetch real sample records for field mapping before live webhooks are sent. Returns up to 20 of the authenticated user’s most recent meetings.

Request

  • Method: GET
  • URL: /api/zapier/meetings
  • Headers:
    • Authorization: Bearer <access_token>
    • Accept: application/json

Response (200 OK)


5.4 Webhook Event Delivery (Payload)

When a meeting is scheduled in BoothMaven, BoothMaven sends an HTTP POST to Zapier’s subscribed targetUrl:

Payload Structure


6. Action: Create Meeting

Allows external applications (Google Calendar, Calendly, Typeform, Webforms, CRMs) to schedule meetings directly in BoothMaven.

POST /api/zapier/meetings

Security

  • Authorization: Bearer <access_token>

Request Body Schema (application/json)

Sample Request Body

Response (201 Created)


7. Error Handling & HTTP Status Codes

BoothMaven API uses standard HTTP response status codes. Errors include a JSON body detailing the failure cause.

Sample Validation Error (422 Unprocessable Entity)

Sample Unauthorized Error (401 Unauthorized)


8. OpenAPI 3.0.3 Specification (JSON)

Below is the complete, machine-readable OpenAPI 3.0.3 specification in JSON: