360 Secure SkillHub
360 安全技能中心

PopUp Organizer

该 Skill 通过 PopUp 平台的组织者 API 按类型、地点、价格等条件检索移动供应商,创建与更新活动列表、处理供应商报名与询价、查看活动二维码与发票,并管理收藏供应商与组织者资料;需配置 POPUP_API_KEY,包含取消活动、删除询价等删除操作。

eliaskress
eliaskress
热度 60.40
最近更新 2026-05-11 17:26:07
分类:自动化依赖:第三方 API应用场景:工作流 / 日程安排 / 财务 / 推荐 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add popup-organizer
Metadata
name
PopUp Organizer
description
Search and hire mobile vendors for events on PopUp. Find food trucks, DJs, photo booths & more, create event listings, send booking inquiries, and manage invoices.
metadata
{"openclaw":{"requires":{"env":["POPUP_API_KEY"]},"primaryEnv":"POPUP_API_KEY"}}

PopUp Organizer

Search and hire mobile vendors — food trucks, DJs, photo booths, florists, live bands, and more — for any event. Create event listings, send booking inquiries, manage applications, track invoices, and save favorite vendors.


Getting Started

  1. Sign up or log in at https://usepopup.com/login
  2. Switch to Organizer mode
  3. Go to Settings > API Keys
  4. Click Create API Key and copy the key (shown only once)

Authentication

All requests require a Bearer token in the Authorization header:

Authorization: Bearer pk_live_...

The token is provided via the POPUP_API_KEY environment variable.

Rate limit: 60 requests per minute per API key. HTTP 429 is returned with Retry-After: 60 if exceeded.

Base URL: https://usepopup.com/api/v1/organizer


Endpoints

Search Vendors

GET /vendors

Search published vendor profiles by name, type, location, event type, or price range.

Param Type Description
q string Search query (name, type, city, description)
type string Vendor category — see categories below
state string 2-letter US state code (e.g. CA, NY)
metro string Metro area within state (requires state)
event string Event type filter — see event types below
price string Price range: $, $$, $$$, $$$$
sort string newest, name_asc, name_desc, rating
page number Page number (default 1)
limit number Results per page (default 20, max 100)

Returns vendor profiles with businessName, businessType, homeCity, homeState, priceRange, averageRating, eventTypes, slug, and more.


List Events

GET /open-events

List your events.

Param Type Description
status string Filter: open, closed, canceled
page number Page number
limit number Results per page

Returns events with title, eventDate, startTime, endTime, eventCity, eventState, vendorCap, expectedGuestCount, status, shareUrl, shortUrl, and qrCodeUrl.

Get Event Detail

GET /open-events/{eventId}

Returns the event object plus an applications array (each with businessId, status, quotedRate, engagementModel, and nested business info) and eventTerms.

Create Event

POST /open-events

Create a new event listing.

Required fields: title, description, eventType, eventDate (YYYY-MM-DD), startTime (HH:mm), endTime (HH:mm), eventPlaceName, eventAddress1, eventCity, eventState (2-letter), eventZip, vendorCap (1-1000), feePayer (organizer_pays | vendor_pays | none), expectedGuestCount (1-100000), vendorCategoriesWanted (array, 1-20 items).

Optional fields: location, eventLat, eventLng, heroImageUrl, organizerBudget, boothFee, salesPercent, hiredBudget, venueSetting, requiresVerification, invoiceDueDays, termIds.

Events are pending admin approval before becoming publicly visible.

Update Event

PATCH /open-events/{eventId}

Update event fields or perform actions.

Actions: { "action": "close" } to close to new applications, { "action": "reopen" } to reopen.

Updatable fields: all the same fields as create. When key details change (date, time, venue, title), accepted vendors are notified.

Cancel Event

DELETE /open-events/{eventId}

Cancel an event. All pending and accepted vendors are notified.


List Applications

GET /open-events/{eventId}/applications

List vendor applications for an event.

Param Type Description
status string Filter: pending, accepted, declined, withdrawn
page number Page number
limit number Results per page

Get Event QR Code

GET /open-events/{eventId}/qr

Returns a PNG QR code image for the event share link.


List Inquiries

GET /inquiries

List your inquiries to vendors.

Param Type Description
status string Filter: pending, quoted, booked, declined
page number Page number
limit number Results per page

Returns inquiries with eventDate, eventType, guestCount, location, budget, message, status, quotedPrice, quoteMessage, and nested business info.

Get Inquiry Detail

GET /inquiries/{id}

Get a single inquiry with full detail.

Create Inquiry

POST /inquiries

Send a booking inquiry to a vendor.

Required: businessId (UUID).

Optional: bookingType (catering | vending), eventDate (YYYY-MM-DD), eventType, guestCount, location, eventPlaceName, eventAddress1, eventCity, eventState, eventZip, budget, message, phone, startTime (HH:mm), endTime (HH:mm), estimatedPrice.

The vendor is notified by email and in-app notification.

Update Inquiry

PATCH /inquiries/{id}

Update a pending inquiry or respond to a quote.

Actions: { "action": "accept_quote" } (inquiry must be quoted), { "action": "decline" } (inquiry must be quoted).

Updatable fields (pending only): eventDate, eventType, guestCount, location, budget, message, startTime, endTime.

Delete Inquiry

DELETE /inquiries/{id}

Delete a pending inquiry. Only works on status=pending.


List Invoices

GET /invoices

List invoices for event applications and direct inquiries.

Param Type Description
page number Page number
limit number Results per page

Returns invoices with eventTitle, eventDate, vendorName, engagementModel, amount (dollars), direction (receivable | payable), isPaid.


List Saved Vendors

GET /saved

List your bookmarked vendors.

Save Vendor

POST /saved

Bookmark a vendor: { "businessId": "..." }

Remove Saved Vendor

DELETE /saved?businessId=...

Remove a bookmarked vendor.


Get Profile

GET /profile

Get your organizer profile and account info.

Update Profile

PATCH /profile

Update your organizer profile.

Fields: companyName, companyType (brand | agency | planner | corporate), eventTypes (array), location, city, state, zip, phone, website, about, givesBack, nonProfit, forACause, rules.


Response Format

All endpoints return JSON with { "data": ... } wrapper. List endpoints include { "pagination": { "page", "limit", "total", "totalPages" } }.

Error responses: { "error": "message" } with appropriate HTTP status (400, 401, 404, 429, 500).


Vendor Categories

Use these values for the type parameter when searching vendors:

Value Label
food_truck Food
bakery Bakery / Desserts
beverage Beverage / Coffee / Bar
dj DJ / Entertainment
photo_booth Photo Booth
photography Photography
live_band Live Music
florist Florist / Event Florals
balloons Balloons / Balloon Decor
yoga Wellness
arts_crafts Retail Vendor
other Other

Event Types

Use these values for eventType fields:

wedding, corporate, birthday, festival, market, popup, fundraiser, community, holiday, private, other