*** title: CPS API Overview subtitle: Complete guide to the Convention Photography System APIs slug: api-overview ------------------ The Convention Photography System (CPS) provides comprehensive APIs for event photo management and order processing across two main platforms. ## Platform Overview ### Photo Gallery System (photos.conventionphotography.com) The gallery system provides read-only access to event photos organized hierarchically: * **Events**: Top-level containers (e.g., ASDAR26) * **Days**: Event days (e.g., "02. Friday") * **Sessions**: Specific activities (e.g., "Districts, Sign, BoM, Awards Luncheon") * **Photos**: Individual images with metadata ### Ordering System (convention.photos) The ordering platform handles customer orders and fulfillment: * **Event Selection**: Browse available events * **Photo Cart**: Add photos to orders * **Address Validation**: USPS address verification * **Order Processing**: Create and track orders * **Feedback Collection**: Customer satisfaction surveys ## API Architecture ### Base URLs * **Gallery API**: `https://photos.conventionphotography.com` * **Ordering API**: `https://convention.photos` * **Order Management**: `https://cps-orders.replit.app/api` ### Authentication Most gallery endpoints are publicly accessible. Ordering endpoints may require: * CAPTCHA verification for spam prevention * Email confirmation for order submission * Admin authentication for management functions ### Data Formats All APIs return JSON responses with consistent error handling: ```json { "error": "Error message", "code": "ERROR_CODE" } ``` ### Rate Limiting * Public endpoints: No rate limiting * Order endpoints: CAPTCHA required for submission * Admin endpoints: Authentication required ## Key Features ### Photo Browsing * Paginated photo listings * Hierarchical navigation (Event > Day > Session) * Thumbnail and full-size image access * Photo metadata and captions ### Order Management * Real-time order status tracking * Google Sheets backend integration * Automated email receipts * Shipping envelope generation * Customer feedback collection ### Admin Tools * Order status management * Sales reporting and analytics * Shipping status updates * Bulk order operations ## Getting Started 1. **Browse Events**: Use the gallery API to explore available photos 2. **Place Orders**: Submit orders through the ordering platform 3. **Track Status**: Monitor order progress in real-time 4. **Provide Feedback**: Share your experience after fulfillment ## Integration Examples ### Browse Event Photos ```bash GET https://photos.conventionphotography.com/event/ASDAR26?page=1&limit=50 ``` ### Create Order ```bash POST https://convention.photos/api/orders/create Content-Type: application/json { "eventSlug": "ASDAR26", "photos": ["1234", "1235"], "customerInfo": { "name": "John Doe", "email": "john@example.com" }, "shippingAddress": { "line1": "123 Main St", "city": "Springfield", "state": "IL", "zip": "62701" } } ``` ### Check Order Status ```bash GET https://cps-orders.replit.app/api/orders/pending ``` ``` This builds and publishes your documentation to the URL configured in `docs.yml`. For detailed CLI documentation, see the [Fern CLI reference](https://buildwithfern.com/learn/cli-api-reference/cli-reference/overview). Fern Editor is a visual editor that lets anyone on your team update documentation without learning Markdown or Git. It's ideal for content writers, product managers, and other non-technical contributors. **Key features** Fern Editor provides rich text editing similar to Notion or Google Docs, support for Fern components like Callouts and Cards, and a GitHub-backed workflow that creates pull requests for review. **Get started** 1. Log in to the [Fern Dashboard](https://dashboard.buildwithfern.com/) 2. Connect your GitHub repository 3. Open Fern Editor from the top navigation Changes made in Fern Editor create pull requests automatically, maintaining your docs-as-code workflow with full Git history and review process. For more details on Fern Editor features and supported components, see the [Fern Editor documentation](https://buildwithfern.com/learn/docs/writing-content/fern-editor). ## Next steps Create pages using MDX and components Configure tabs, sections, and pages Brand your documentation ```