Skip to main content

BoothMaven Public API Documentation

This document describes the public batch processing endpoints exposed by routes/publicapi.php.

1. Overview & Base URLs

All public API routes are prefixed under /publicapi:

Supported Endpoints


2. Authentication & Headers

All public API endpoints require API key authentication via the X-PUBLIC-KEY HTTP header:
  • X-PUBLIC-KEY (Header, Required): The user’s public access API key. This is handled by the publicapi middleware group (CheckPublicUser), which validates the key and automatically attaches the authenticated user to the request.
  • No uid in payload: Because authentication is handled securely at the middleware layer via X-PUBLIC-KEY, passing uid in the JSON metadata payload is not required.
If the key is missing or invalid, the API returns:
(HTTP 401 Unauthorized)

3. Batch Resource Processor Endpoints

Managed by BatchProcessorController and dispatched via ResourceDispatcher.

3.1 POST /create — Upload & Create Batch Resources

Uploads and processes batches of cards, feedback hubs, guide books, and microsites (interactive pages), alongside binary file attachments (profile photos, thumbnails, banners, brochures, audio, video).

Request Details

  • Method: POST
  • URL: /publicapi/create
  • Headers:
    • X-PUBLIC-KEY: <your_public_access_key>
    • Accept: application/json
  • Content-Type: multipart/form-data

Multipart Form Fields

Top-Level metadata JSON Structure

  • resource_type (string, required): One of:
    • digitalcards — Digital business and showcase cards
    • microsite — Microsite (interactivepage): Content hubs with multi-asset sections and VR tours
  • batch (array, required): List of resource configurations to process.

Response (202 Accepted)


3.2 GET /status/{id} — Query Batch Status

Retrieves the processing status, execution logs, and output records for a specific batch.

Request Details

  • Method: GET
  • URL: /publicapi/status/{id}
  • Headers:
    • X-PUBLIC-KEY: <your_public_access_key>
    • Accept: application/json
  • Path Parameters:
    • id (integer, required): The batch ID returned by POST /batches.

Response (200 OK)


4. Resource Types & Payload Schemas

4.1 Resource: digitalcards

Processed by CardProcessor and CardService.

Common Card Fields


4.1.1 Card Type: dc_individual (Individual Profile Card)

Requires card_data personal details and contact_profile image.

4.1.2 Card Type: dc_business (Digital Business Card)


4.1.3 Card Type: dc_product (Product Showcase Card)

Supports specifications, price_tag, currency, short_description, description, and multiple images.

4.1.4 Card Type: dc_event (Event Announcement Card)

Requires card_data (venue_name, venue_address, event_from_date_time, event_to_date_time) and media_url image.

4.1.5 Card Type: dc_document (Brochure / Flyer Card)

Accepts document files (PDF, PPTX, DOCX, XLSX) via media_url.

4.1.6 Card Type: dc_video (Video Spotlight Card)

Accepts video files (MP4, AVI, MOV, WMV) via media_url.

4.1.7 Card Type: dc_property (Real Estate Listing Card)

Supports location, price_tag, currency, amenities list, and images gallery.

4.1.8 Card Type: dc_audio (Audio / Podcast Card)

Accepts audio files (MP3, WAV, AAC, FLAC, OGG) via media_url and thumbnail image.

4.4 Resource: interactive_pages — Microsite (Interactive Page)

Processed by InteractivePageProcessor and InteractivePageUtilityProcessor. Creates a microsite (interactive page) containing digital content hubs with multiple sections, digital assets (files, images, links), and embedded virtual 360-degree spaces.

5. Complete cURL Examples

5.1 Upload Batch with Files (POST /create)

5.2 Check Batch Status (GET /status/{id})