Our best plan is on SALE right now!

Skip to content
Home / Integrations / EventPrime Zapier Integration – Support API Reference

EventPrime Zapier Integration – Support API Reference

Base Endpoint

GET/POST

{SITE_URL}/?eventprime-integration=zapier&...query params...

Important

  • {SITE_URL} must end with a trailing slash (/).
  • If it does not, the API returns 400 with:
{"status":400,"message":"Bad request: site URL needs to end with a / at the end of the URL."}

Authentication

Provide the API key as a query parameter:

api_key=<YOUR_API_KEY>

The key is compared case-insensitively against the value configured at:

Dashboard → EventPrime → Settings → Extensions → EventPrime Zapier Integration → Manage


Failure Responses

401 Invalid API key

{"status":401,"message":"Invalid API key"}

400 Missing trailing slash

{"status":400,"message":"Bad request: site URL needs to end with a / at the end of the URL."}

High-level Flow

Webhook mode (subscribe/unsubscribe + pushes)

Zapier registers a hookUrl. When matching events occur, EventPrime POSTs normalized JSON payloads to that URL.

Polling mode (perform/sample)

Zapier requests recent/sample data for a trigger.


Query Parameters

ParamRequiredValues / Notes
eventprime-integrationYesMust equal zapier
api_keyYesCase-insensitive match to plugin setting
actionYesSee Actions below (except basic “ping”)
site_urlRecommendedMust end with / (validated)
Other fieldsAs neededVary by action/trigger

Actions

1) action=subscribe (Webhook)

Registers a Zap’s webhook for a given trigger and returns sample data. Also sends a test POST to hookUrl.

Required params

  • zapId – unique Zap identifier
  • trigger – one of the supported trigger keys
  • hookUrl – Zapier webhook URL

Example

GET {SITE_URL}/?eventprime-integration=zapier
  &api_key=XXXX
  &action=subscribe
  &zapId=12345
  &trigger=create_event
  &hookUrl=https://hooks.zapier.com/hooks/standard/123/abc

Response

  • JSON sample for the trigger
  • Additionally, a test POST is sent to hookUrl

2) action=unsubscribe (Webhook)

Removes a stored webhook for a Zap.

Required params

  • zapId
  • trigger
  • hookUrl (passed through)

Example

GET ...&action=unsubscribe&zapId=12345&trigger=create_event&hookUrl=...

Response

{"name":"12345","type":"create_event","webhook_url":"https://hooks.zapier.com/..."}

3) action=perform (Polling)

Returns sample/recent data for a trigger.

Required params

  • trigger – see Supported Triggers

Example

GET ...&action=perform&trigger=all_events

Response

  • Array/object of items for the trigger
  • Message if none available

4) action=create_event (Mutation)

Creates an EventPrime event.

Required params

  • em_name – event title
  • em_start_date – parsable date/time (e.g., 2025-09-28 or 2025-09-28 10:00)

Optional params

  • em_end_date – parsable date/time
  • description

Example

GET ...&action=create_event
  &em_name=Conference%202025
  &em_start_date=2025-11-20
  &em_end_date=2025-11-20
  &description=Annual%20conference

Success Response

{"msg":"Event created successfully.","ID":123}

5) 🆕 action=create_event_with_ticket (Mutation)

Creates an Event and one or more Tickets in a single request.

Endpoint

GET/POST

{SITE_URL}/?eventprime-integration=zapier

Required Query Parameters

ParameterDescription
eventprime-integrationMust equal zapier
api_keyValid API key
actionMust be create_event_with_ticket
em_nameEvent title
em_start_dateEvent start date/time
em_end_dateEvent end date/time
ticketsJSON array of ticket objects

Required Ticket Fields (Inside tickets JSON)

Each ticket object must include:

FieldDescription
ticket_nameTicket name
ticket_priceTicket price
ticket_quantityTotal ticket quantity
minimum_ticket_qtyMinimum tickets allowed per booking
maximum_ticket_qtyMaximum tickets allowed per booking
ticket_start_dateTicket sale start date
ticket_end_dateTicket sale end date

Example Request (cURL)

curl -G "{SITE_URL}/" \
  --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_event_with_ticket" \
  --data-urlencode "em_name=Music Festival 2026" \
  --data-urlencode "em_start_date=2026-12-20 18:00" \
  --data-urlencode "em_end_date=2026-12-20 23:00" \
  --data-urlencode 'tickets=[
    {
      "ticket_name":"VIP",
      "ticket_price":150,
      "ticket_quantity":100,
      "minimum_ticket_qty":1,
      "maximum_ticket_qty":5,
      "ticket_start_date":"2026-11-01 10:00",
      "ticket_end_date":"2026-12-20 18:00"
    }
  ]'

Success Response

{"msg":"Event and tickets created successfully.","event_id":145,"ticket_ids":[321]}

Validation Rules

  • Event start date must be earlier than event end date.
  • Ticket sale start date must be earlier than ticket sale end date.
  • Ticket quantity must be greater than 0.
  • ticket_price must be numeric.
  • minimum_ticket_qty must be ≥ 1.
  • maximum_ticket_qty must be ≥ minimum_ticket_qty.
  • {SITE_URL} must end with /.
  • API key must be valid.

6) 🆕 action=create_ticket (Mutation)

Creates a ticket for an existing event.

Endpoint

GET/POST

{SITE_URL}/?eventprime-integration=zapier

Required Parameters

ParameterDescription
eventprime-integrationMust equal zapier
api_keyValid API key
actionMust be create_ticket
event_idExisting Event ID
ticket_nameTicket name
ticket_priceTicket price
ticket_quantityTotal ticket quantity
minimum_ticket_qtyMinimum tickets allowed per booking
maximum_ticket_qtyMaximum tickets allowed per booking
ticket_start_dateTicket sale start date
ticket_end_dateTicket sale end date

Example Request (cURL)

curl -G "{SITE_URL}/" \
  --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_ticket" \
  --data-urlencode "event_id=145" \
  --data-urlencode "ticket_name=Early Bird" \
  --data-urlencode "ticket_price=30" \
  --data-urlencode "ticket_quantity=200" \
  --data-urlencode "minimum_ticket_qty=1" \
  --data-urlencode "maximum_ticket_qty=10" \
  --data-urlencode "ticket_start_date=2026-10-01 10:00" \
  --data-urlencode "ticket_end_date=2026-12-01 18:00"

Success Response

{"msg":"Ticket created successfully.","ticket_id":401}

7) action=create_booking (Mutation)

Creates a booking for an event/ticket.

Required params

  • event_id – numeric
  • ticket_id – numeric
  • email – user email

Optional params

  • booking_status (defaults to completed)

Supported values:

  • completed
  • pending
  • cancelled
  • refunded
  • failed

Example

GET ...&action=create_booking
  &event_id=77
  &ticket_id=324
  &email=alex@example.com
  &booking_status=pending

Success Response

{"msg":"Booking created successfully."}

Validation failures

{"msg":"Missing required booking data."}
{"msg":"Invalid ticket."}

8) action=init_action (Advanced)

Internal hook point. Useful only if a custom action_key is handled via filters on the site.

Required params

  • action_key

Example

GET ...&action=init_action&action_key=custom_key

Response

  • Whatever the site-specific filter returns (bool/array/object), JSON-encoded.

Supported Triggers

Events

  • create_event – event created
  • update_event – event updated
  • delete_event – event deleted/trashed
  • all_events – list/polling

Venues

  • create_venue – venue created
  • update_venue – venue updated
  • delete_venue – venue deleted
  • all_venues – list/polling

Performers

  • create_performer – performer created
  • update_performer – performer updated
  • delete_performer – performer deleted
  • all_performers – list/polling

Bookings (status feeds)

  • confirm_booking – completed bookings
  • pending_booking – pending bookings
  • cancel_booking – cancelled bookings
  • refund_booking – refunded bookings
  • failed_booking – failed bookings

Subscribe Behavior

On subscribe, the plugin:

  1. Stores {zapId, trigger, hookUrl}
  2. Immediately POSTs a test payload to hookUrl

Response Shape & Normalization

  • All responses are JSON.
  • Payloads are normalized.
  • The plugin attempts JSON decode/unserialize and string sanitation where applicable.

Generic Success (Ping)

{"msg":"Success","site_title":"My WordPress Site"}

Bailed Errors

{"status":401,"message":"Invalid API key"}

Webhook POSTs are sent as:

  • Content-Type: application/json; charset=utf-8
  • A normalized JSON body representing the resource(s) for the registered trigger.

Error Reference

HTTPMessageWhen
400Bad request: site URL needs to end with a / at the end of the URL.site_url missing trailing slash
401Invalid API keyIncorrect/absent api_key
404Unknown request parametersUnsupported action
200{“msg”:”No such triggers available…”}Unsupported trigger in perform

Quick cURL Samples

Subscribe to “event created”

curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=subscribe" \
  --data-urlencode "zapId=ZAP-001" \
  --data-urlencode "trigger=create_event" \
  --data-urlencode "hookUrl=https://hooks.zapier.com/hooks/standard/123/abc"

Poll sample events

curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=perform" \
  --data-urlencode "trigger=all_events"

Create an event

curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_event" \
  --data-urlencode "em_name=Conference 2025" \
  --data-urlencode "em_start_date=2025-11-20" \
  --data-urlencode "em_end_date=2025-11-20" \
  --data-urlencode "description=Annual conference"

🆕 Create an event with tickets

curl -G "{SITE_URL}/" \
  --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_event_with_ticket" \
  --data-urlencode "em_name=Music Festival 2026" \
  --data-urlencode "em_start_date=2026-12-20 18:00" \
  --data-urlencode "em_end_date=2026-12-20 23:00" \
  --data-urlencode 'tickets=[
    {
      "ticket_name":"VIP",
      "ticket_price":150,
      "ticket_quantity":100,
      "minimum_ticket_qty":1,
      "maximum_ticket_qty":5,
      "ticket_start_date":"2026-11-01 10:00",
      "ticket_end_date":"2026-12-20 18:00"
    }
  ]'

🆕 Create a ticket for an existing event

curl -G "{SITE_URL}/" \
  --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_ticket" \
  --data-urlencode "event_id=145" \
  --data-urlencode "ticket_name=Early Bird" \
  --data-urlencode "ticket_price=30" \
  --data-urlencode "ticket_quantity=200" \
  --data-urlencode "minimum_ticket_qty=1" \
  --data-urlencode "maximum_ticket_qty=10" \
  --data-urlencode "ticket_start_date=2026-10-01 10:00" \
  --data-urlencode "ticket_end_date=2026-12-01 18:00"

Create a booking

curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
  --data-urlencode "api_key=YOUR_KEY" \
  --data-urlencode "action=create_booking" \
  --data-urlencode "event_id=77" \
  --data-urlencode "ticket_id=324" \
  --data-urlencode "email=alex@example.com" \
  --data-urlencode "booking_status=pending"

Common Troubleshooting

401 Invalid API key

Ensure the key in:

EventPrime → Settings → Extensions → EventPrime Zapier Integration → Manage

matches the api_key passed.

400 trailing slash

Make sure the supplied {SITE_URL} ends with /.

No data on perform

The site may not yet have corresponding items.

  • Create one and retry, or
  • Choose another trigger

Webhook received but empty

Confirm the relevant WordPress hooks are firing and the resource exists.


© EventPrime – Internal Support Reference

Questions, Support & Custom Solutions

  • Need more details or can't find what you're looking for? Let us know how we can help! Contact our support team here.
  • Looking for a tailor-made solution to meet your specific needs? Our dedicated customization team is here to help! Use this link to share your requirements with us, and we'll collaborate with you to bring your vision to life.

Leave a Reply

Your email address will not be published. Required fields are marked *