{"platform":"Open Call Portals","description":"AI classifieds for entertainment, hospitality & events. Connect specific needs with specific people — venues find DJs, promoters find crew, labels find artists. Every listing is verified, structured, and PII-free in API responses.","readEndpoints":{"allListings":{"url":"https://opencallportal.com/api/agent/listings","auth":"none","queryParams":{"portalId":"Filter by portal (e.g. dj, lb, live-event). Omit for all portals.","location":"City or country name substring match.","type":"Comma-separated open call types.","genre":"Comma-separated genres or categories.","from":"ISO date YYYY-MM-DD — only listings closing on/after this date.","to":"ISO date YYYY-MM-DD — only listings closing on/before this date.","limit":"Max results. Default 100, max 500.","format":"'json' (default) or 'md' for paste-ready markdown."}},"liveEvents":{"url":"https://opencallportal.com/api/agent/live-events","auth":"none","description":"Upcoming live events with geo coordinates. Same params as allListings plus ticketed=yes|no."},"publicFeed":{"url":"https://opencallportal.com/api/opportunities","auth":"none","description":"Full public opportunity feed — all active open calls across all demand portals."}},"writeWorkflow":{"description":"All write actions require email verification — the same flow used by the web UI. No special agent bypass exists. Email accountability is intentional: it keeps the classifieds specific and trustworthy. The full OpenAPI spec (ChatGPT / OpenAI assistants compatible) is at https://opencallportal.com/api/agent/openapi.json","openApiSpec":"https://opencallportal.com/api/agent/openapi.json","steps":[{"step":1,"name":"Send verification code","operationId":"sendVerificationCode","method":"POST","url":"https://opencallportal.com/api/auth/verify-email","body":{"email":"your@email.com","portalId":"dj"},"response":{"message":"Verification code sent to your email."},"devNote":"In development the code is always 555555 — no email sent."},{"step":2,"name":"Confirm code and receive token","operationId":"confirmVerificationCode","method":"POST","url":"https://opencallportal.com/api/auth/verify-email/confirm","body":{"email":"your@email.com","code":"123456"},"response":{"verified":true,"email":"your@email.com","token":"<verificationToken>"},"note":"Token is valid for 4 hours and can only be used once."},{"step":"3a","name":"Post a listing (open call or availability)","operationId":"postListing","method":"POST","url":"https://opencallportal.com/api/listings","body":{"portalId":"dj","verificationToken":"<token from step 2>","userRole":"venue-manager","organizerName":"Venue Name","locationIds":[1],"date":"2026-10-15","closeDate":"2026-10-15","openCallTypes":["paid-fixed-fee"],"genres":["house","techno"]},"response":{"id":1234,"uiReference":"DJ-3456","portalId":"dj"},"note":"For full field specs per portal, POST to /api/vertical/config?portalId=dj. For availability portals append '-availability' to portalId (e.g. 'dj-availability'). For live events use portalId 'live-event' and include eventTime (ISO datetime)."},{"step":"3b","name":"Respond to a listing (alternative to step 3a)","operationId":"respondToListing","method":"POST","url":"https://opencallportal.com/api/listings/:id/respond","urlNote":"Replace :id with the numeric listing ID from searchOpenCalls.","body":{"verificationToken":"<token from step 2>","email":"performer@example.com","name":"DJ Example","message":"Hi, I'd love to play at your venue...","soundcloudUrl":"https://soundcloud.com/djexample","emailConsent":true},"response":{"message":"Response submitted successfully."},"note":"The listing creator is notified by email. The email field must match the email used in step 1."}]},"portals":{"demand":{"dj":{"label":"DJ Open Calls","ref":"DJ-XXXX"},"lb":{"label":"Live Band & Musician","ref":"LB-XXXX"},"cc":{"label":"Content Creator","ref":"CCCC-XXXX"},"fs":{"label":"Fourth Spaces","ref":"FSCC-XXXX"},"ec":{"label":"Event Crew","ref":"ECCC-XXXX"},"darts":{"label":"Darts","ref":"DARTS-XXXX"},"casting":{"label":"Casting","ref":"CCC-XXXX"},"cue-sports":{"label":"Cue Sports","ref":"CSCC-XXXX"},"golf-society":{"label":"Golf Society","ref":"GSCC-XXXX"},"liquor-supply":{"label":"Liquor & Beverage Supply","ref":"LS-XXXX"},"solopreneur":{"label":"Solopreneur","ref":"SCC-XXXX"},"artist":{"label":"Visual Artist","ref":"ACC-XXXX"},"gh":{"label":"Game Host","ref":"GHCC-XXXX"},"comedian":{"label":"Comedian","ref":"COM-XXXX"},"demo":{"label":"Music Demo / Label","ref":"DECC-XXXX"},"poker":{"label":"Poker","ref":"PCC-XXXX"},"bowling":{"label":"Bowling","ref":"BCC-XXXX"},"local-produce":{"label":"Local Produce","ref":"LPC-XXXX"},"coworking":{"label":"Coworking Coordinator","ref":"CWCC-XXXX"},"dance-acts":{"label":"Dance Acts","ref":"DACC-XXXX"},"run-club":{"label":"Run Club","ref":"RCCC-XXXX"},"live-event":{"label":"Live Events Map","ref":"LE-XXXX"}},"supply":{"dj-availability":{"label":"DJ Availability","ref":"ATDJ-XXXX"},"lb-availability":{"label":"Live Band Availability","ref":"ATLB-XXXX"},"cc-availability":{"label":"Content Creator Availability","ref":"ATCCCC-XXXX"},"fs-availability":{"label":"Fourth Spaces Availability","ref":"ATFSCC-XXXX"},"ec-availability":{"label":"Event Crew Availability","ref":"ATECCC-XXXX"},"darts-availability":{"label":"Darts Availability","ref":"ATDARTS-XXXX"},"casting-crew-availability":{"label":"Casting Crew Availability","ref":"ATCCC-XXXX"},"cue-sports-availability":{"label":"Cue Sports Availability","ref":"ATCSCC-XXXX"},"golf-society-availability":{"label":"Golf Society Availability","ref":"ATGSCC-XXXX"},"liquor-supply-availability":{"label":"Liquor Supply Availability","ref":"ATLS-XXXX"},"solopreneur-availability":{"label":"Solopreneur Availability","ref":"ATSCC-XXXX"},"artist-professional-availability":{"label":"Artist Availability","ref":"ATACC-XXXX"},"gh-availability":{"label":"Game Host Availability","ref":"ATGHCC-XXXX"},"comedian-availability":{"label":"Comedian Availability","ref":"ALCOM-XXXX"},"demo-availability":{"label":"Demo Availability","ref":"ATDECC-XXXX"},"poker-availability":{"label":"Poker Availability","ref":"ATPCC-XXXX"},"bowling-availability":{"label":"Bowling Availability","ref":"ATBCC-XXXX"},"local-produce-availability":{"label":"Local Produce Availability","ref":"ATLPC-XXXX"},"coworking-availability":{"label":"Coworking Availability","ref":"ATCWCC-XXXX"},"dance-acts-availability":{"label":"Dance Acts Availability","ref":"ATDACC-XXXX"},"run-club-availability":{"label":"Run Club Availability","ref":"ATRCCC-XXXX"}}},"locationLookup":{"url":"https://opencallportal.com/api/locations","description":"Returns the full location tree. Use location IDs in the locationIds field when submitting listings."},"sitemap":"https://opencallportal.com/sitemap.xml","rssFeed":"https://opencallportal.com/feed.rss"}