My3PAI is a next-generation creator commerce platform that empowers travel influencers, map creators, and digital content producers to build, monetize, and scale their expertise. This repository contains the complete OpenAPI 3.0.3 specification for the My3PAI REST API β a comprehensive, well-documented blueprint of the platform's entire surface area.
The API powers a multi-sided marketplace connecting creators (influencers, map makers, educators) with consumers (travelers, learners, adventure seekers) through an ecosystem of:
- πΊοΈ Interactive Travel Maps with rich Points of Interest (POIs)
- π Masterclasses & Courses β premium educational content
- ποΈ Podcasts & Blog Posts β content publishing and monetization
- π 1-on-1 Consultations β booking and scheduling with calendar management
- π¬ Digital Media Marketplace β stock footage, presets, templates, and more
- π³ Full Commerce Stack β cart, orders, payments, invoicing, and payouts
π° Money convention (since 2026-08-18): every money value is an integer in minor units (cents) under a
*_centskey. No dollar floats on the wire.*_formattedfields are display-only strings; percentages keep*_percentagenames. See MIGRATION-money-cents-2026-08-18.md for the full endpoint-by-endpoint impact and frontend display guidance.
| Problem | My3PAI Solution |
|---|---|
| Travel creators lack monetization tools | Multi-revenue engine: maps, courses, consultations, media sales |
| Fragmented creator tooling | Unified platform: content management, e-commerce, scheduling |
| No standardized travel data | Rich POI schema with filters, media, pricing, and versioning |
| Complex creator payouts | Stripe Connect integration with automated platform fees |
| Limited audience engagement | Blog, podcast, social posts, contact forms β all in one place |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β My3PAI API β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π Authentication Layer (Laravel Sanctum Token Auth) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π¦ Core Domains β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββ β
β β Maps & β β Content β β Creator β β Commerce β β
β β POIs β β (Blog, β β Services β β (Cart, β β
β β β β Podcast, β β (Consul- β β Orders, β β
β β β β Master- β β tations, β β Payments, β β
β β β β classes) β β Payouts) β β Invoices) β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π³ Payment Processing (Stripe Connect) β
β π€ AI Services (Google Vertex AI) β
β π Admin & Analytics β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The heart of My3PAI β a sophisticated geographic content system:
- Rich POI Data Model β Each POI includes basic info, categories, difficulty levels, pricing, regions, amenities, tips, media, and experiential descriptions
- Completeness Scoring β Automated 0-100 scoring with publishability checks
- Optimistic Locking β Draft version control prevents concurrent edit conflicts
- Visibility Controls β Public/private toggles, featured POIs for map previews
- Batch Operations β Bulk visibility toggling and management
- Advanced Filtering β Multi-dimensional filters: activity, terrain, audience, accessibility, amenities, tags, countries, difficulty, cost type
- Media Management β Images, audio guides, PDF attachments with reordering
- Media β POIs support uploaded photos, audio and PDF attachments with AI-assisted descriptions
A full-stack creator management system:
- Rich Profiles β Bio, tagline, location, theme customization, intro video
- Social Presence β Manage social links, social posts with reordering
- Skills & Certifications β Structured expertise representation
- Languages β Multi-language support with ordering
- External Links β Portfolio and affiliate link management
- Creator Tools Visibility β Granular control over which tools appear on public profiles
- Contact Management β Contact form with read/unread tracking and statistics
- Earnings & Payouts β Real-time earnings summaries, payout history, Stripe Connect dashboard
| Content Type | Features | Monetization |
|---|---|---|
| Blog Posts | Rich content, cover images, SEO-friendly slugs | Public / Gated |
| Podcast Episodes | Audio uploads, cover art, settings management | Free / Premium |
| Masterclasses | Full course content, purchase gating, premium locking | One-time purchase |
| Consultations | Calendar availability, time slots, booking, cancellation policies | Per-session pricing |
A complete e-commerce infrastructure:
- Shopping Cart β Full CRUD with guest session support (X-Session-ID)
- Guest-to-User Cart Merging β Seamless conversion on login
- Orders β Full lifecycle: pending β processing β completed β cancelled β refunded
- Digital Downloads β Secure download links for purchased products
- Invoicing β Professional invoice generation with send/download, paid/received views
- Payment Processing β Stripe Payment Intents with confirmation flow
- Platform Fees β Automated fee calculation with influencer payout amounts
- Asset Types β Video, Photo, Preset, Audio, Template, Other
- Purchase Flow β Individual asset purchases with download management
- My Purchases β Centralized library of all purchased digital goods
- AI Chat β Google Vertex AI-powered conversational interface
- Translation β AI-powered English translation endpoint
- User Management β CRUD, verification, password management
- Platform Analytics β Earnings summaries, activity logs, platform-wide stats
| Category | Endpoints | Description |
|---|---|---|
| Authentication | POST /register, POST /login, POST /logout, POST /forgot-password, POST /reset-password |
Full auth lifecycle |
| Profile | GET/PUT /profile, avatar/cover upload, preferences, account management, password change |
User self-service |
| Maps | CRUD, thumbnail, URL parsing, purchase access | Map lifecycle |
| POIs | CRUD with drafts, media, audio, PDF, batch operations, filter metadata | Rich geographic content |
| Influencers | Public profiles, blog, podcast, masterclasses, consultations, maps, media assets, social posts | Public creator discovery |
| Creator Tools | Socials, posts, languages, skills, certifications, external links, blog, podcast, masterclasses, consultations, media assets, payouts, earnings | Creator dashboard |
| Consultations | Booking, availability, time slots, calendar, cancellation policies, payment sessions | Scheduling engine |
| Commerce | Cart (with guest support), orders, payments, invoices, digital downloads | Full commerce stack |
| Media Assets | Marketplace CRUD, purchases, downloads | Digital goods marketplace |
| Stripe Connect | Onboarding, status, dashboard link, account management | Payment infrastructure |
| Admin | Users, stats, activity, platform earnings | Platform administration |
| AI | Chat, translation | AI-powered features |
| Webhooks | Stripe events, video worker callbacks | External integrations |
My3PAI offers a comprehensive set of API endpoints designed for strategic B2B partners β travel agencies, tourism boards, content distributors, affiliate networks, enterprise resellers, and SaaS platforms looking to integrate creator commerce into their ecosystem.
| Endpoint | Method | Description |
|---|---|---|
POST /stripe/connect/onboard |
POST |
Initiate Stripe Connect Express onboarding β returns a hosted onboarding URL for partners to link their payment accounts |
GET /stripe/connect/status |
GET |
Retrieve Stripe account status: connection state, charges enabled, payouts enabled, outstanding requirements |
GET /stripe/connect/dashboard |
GET |
Generate a Stripe-hosted dashboard link for partners to manage payouts, balances, and account details |
POST /stripe/connect |
POST |
Update or manage the connected Stripe account configuration |
POST /webhooks/stripe |
POST |
Receive real-time Stripe event notifications (account updates, payout lifecycle, application deauthorization) |
| Endpoint | Method | Description |
|---|---|---|
GET /influencer/earnings/summary |
GET |
Aggregated earnings with period filtering (all_time, this_month, last_month, this_year) β all amounts in USD |
GET /influencer/payouts |
GET |
Paginated payout history with status filtering (pending, processing, paid, failed) |
GET /influencer/payouts/{id} |
GET |
Detailed view of a specific payout transaction |
GET /invoices/summary |
GET |
Invoice summary statistics with date range filtering β total paid, total received, status breakdown |
GET /invoices |
GET |
Full invoice listing with status and type filters (paid/received), date range, and pagination |
GET /invoices/{id} |
GET |
Single invoice detail with line items and payment information |
GET /invoices/{id}/download |
GET |
Download invoice as PDF for accounting and record-keeping |
POST /invoices/{id}/send |
POST |
Send invoice via email to the customer |
| Endpoint | Method | Description |
|---|---|---|
GET /admin/stats |
GET |
Platform-wide dashboard statistics: total users, verified users, new registrations, admin counts |
GET /admin/platform/earnings |
GET |
Platform earnings with filtering by influencer, date range, and status (collected, reversed, pending) |
GET /admin/platform/earnings/summary |
GET |
Aggregated platform earnings summary for reporting |
GET /admin/activity |
GET |
Platform activity log for audit and compliance |
GET /admin/users |
GET |
User management with search, filtering, and pagination |
GET /admin/users/{id} |
GET |
Detailed user profile for account management |
POST /admin/users/{id}/verify |
POST |
Verify user accounts β essential for partner-managed creator verification |
| Endpoint | Method | Description |
|---|---|---|
GET /orders |
GET |
List orders with status and date filtering |
GET /orders/sold |
GET |
Orders sold by the partner/creator |
GET /orders/purchased |
GET |
Orders purchased by customers |
GET /orders/{id} |
GET |
Detailed order view with items, payment, and status |
POST /orders/{id}/refund |
POST |
Process refunds through Stripe |
GET /orders/{id}/download |
GET |
Download order-related digital assets |
| Endpoint | Method | Description |
|---|---|---|
POST /ai/chat |
POST |
Google Vertex AI Gemini-powered chat β enables partners to build AI travel assistants, content generators, and smart recommendation features |
POST /ai/translate-to-english |
POST |
AI-powered translation to English β useful for partners operating in multilingual markets |
Travel Agency Partnership
Agency Platform
βββ GET /influencers β Discover creators by location and expertise
βββ GET /influencers/{username}/maps β Browse available travel maps
βββ POST /stripe/connect/onboard β Link payment accounts
βββ GET /influencer/earnings/summary β Track revenue share
βββ POST /ai/chat β Build AI trip planning features
Enterprise Content Distribution
Distribution Platform
βββ GET /influencers/{username}/masterclasses β Access premium courses
βββ GET /influencers/{username}/podcast β Syndicate podcast content
βββ GET /influencers/{username}/media-assets β License digital media
βββ GET /orders/sold β Track content sales
βββ GET /invoices/summary β Financial reconciliation
Tourism Board Integration
Tourism Board
βββ GET /maps/{map} β Access curated destination maps
βββ GET /pois/filters/metadata β Explore POI categories and filters
βββ GET /influencers/{username}/blog β Curate destination blog content
βββ POST /influencer/contact β Direct messaging with creators
βββ GET /admin/platform/earnings β Track regional economic impact
The API uses Laravel Sanctum token-based authentication:
Authorization: Bearer <your-token>Guest users can access cart endpoints via session-based identification:
X-Session-ID: <your-session-id>| Endpoint Group | Limit |
|---|---|
| Authentication | 5 req/min per IP |
| Public Maps | 60 req/min per IP |
| Rate Limit Exceeded | HTTP 429 |
openapi/
βββ openapi.yaml # Root OpenAPI specification
βββ components/
β βββ schemas/ # Reusable data models (90+ schemas)
β βββ User.yaml # User model with preferences
β βββ PoiResource.yaml # Full POI resource with completeness scoring
β βββ MapResource.yaml # Map model with pricing and access control
β βββ InfluencerProfile.yaml # Rich creator profile
β βββ Consultation.yaml # Consultation with working hours
β βββ MasterclassFull.yaml # Premium course content
β βββ Invoice.yaml # Full invoicing with platform fees
β βββ Order.yaml # Order lifecycle management
β βββ MediaAsset.yaml # Digital media marketplace
β βββ Cart.yaml # Shopping cart
β βββ ... # 80+ additional schemas
βββ paths/ # Path definitions (150+ endpoints)
βββ health.yaml
βββ register.yaml
βββ login.yaml
βββ maps.yaml
βββ influencers.yaml
βββ cart.yaml
βββ orders.yaml
βββ invoices.yaml
βββ admin_stats.yaml
βββ ai_chat.yaml
βββ ... # 140+ additional path files
- An API client (Postman, Insomnia, cURL, or any HTTP client)
- A My3PAI account (for authenticated endpoints)
| Environment | URL |
|---|---|
| Local Development | http://localhost:8000/api |
| Production | https://api.my3pai.com/api |
# Register a new account
curl -X POST https://api.my3pai.com/api/register \
-H "Content-Type: application/json" \
-d '{"name": "Travel Creator", "email": "creator@example.com", "password": "securepass123", "password_confirmation": "securepass123"}'
# Login to get your token
curl -X POST https://api.my3pai.com/api/login \
-H "Content-Type: application/json" \
-d '{"email": "creator@example.com", "password": "securepass123"}'
# Use your token for authenticated requests
curl https://api.my3pai.com/api/me \
-H "Authorization: Bearer <your-token>"Import the OpenAPI specification into your preferred API client:
- Postman: File β Import β Select
openapi.yaml - Insomnia: Create β Import β Select
openapi.yaml - Swagger UI: Point to the raw
openapi.yamlURL
My3PAI generates revenue through multiple streams:
| Revenue Stream | Description |
|---|---|
| Platform Fees | Percentage fee on every transaction (orders, consultations, media sales) |
| Premium Map Sales | Commission on paid map purchases |
| Digital Media Marketplace | Transaction fees on preset, template, and asset sales |
| Consultation Bookings | Service fee on booked consultations |
| Masterclass Sales | Revenue share on premium course content |
| Creator Subscriptions (future) | Tiered creator plans with enhanced features |
Customer Payment ($100)
βββ Platform Fee (variable %)
βββ Payment Processing (Stripe fee)
βββ Creator Payout (remainder)
- Token-based Authentication β Laravel Sanctum with secure token management
- Stripe Connect β PCI-compliant payment processing, no sensitive card data stored
- Rate Limiting β Protection against abuse and DDoS
- Input Validation β Comprehensive schema validation on all endpoints
- Optimistic Locking β Prevents data corruption from concurrent edits
- Environment Separation β Distinct local and production configurations
We welcome contributions from the community! Whether you're a developer, travel creator, or API enthusiast, here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow OpenAPI 3.0.3 specification standards
- Maintain backward compatibility for existing endpoints
- Add comprehensive schema definitions for new models
- Include meaningful descriptions and examples
- Keep path files modular and focused
This project is licensed under a Proprietary License β see the LICENSE file for details.
| Channel | Details |
|---|---|
| API Support | api-support@my3pai.com |
| Website | https://my3pai.com |
| GitHub Issues | Report a bug |
Built for creators. Powered by technology. Ready for the world.
Β© 2025 My3PAI. All rights reserved.
