Crowdswell API
A comprehensive platform for managing influencer marketing campaigns, creator applications, brand partnerships, and content placements.
Overview
The Crowdswell API is a REST API that provides robust functionality for building modern influencer marketing platforms. It handles everything from campaign management to analytics and reporting.
🎯 Campaign Management
Create and manage influencer marketing campaigns with detailed requirements and deliverables.
👥 Creator Applications
Handle creator applications to campaigns with proposal management and approval workflows.
📊 Analytics & Reporting
Real-time analytics, performance tracking, and comprehensive reporting capabilities.
🔍 Advanced Search
Powerful search with full-text search, filtering, faceting, and autocomplete suggestions.
📁 File Management
Upload, process, and manage files with automatic thumbnail generation and metadata extraction.
⚡ High Performance
Redis caching, bulk operations, and optimized endpoints for maximum performance.
🚀 Quick Start
Get up and running with the Crowdswell API in minutes:
Authentication
Currently, the API endpoints are open for development purposes. Authentication will be implemented in future versions using API keys and OAuth 2.0.
Response Format
All API responses follow a consistent structure:
HTTP Status Codes
Campaigns
Campaigns represent job postings created by brands for creators to apply to. Each campaign defines specific requirements, compensation, and deliverables.
List all campaigns with optional filtering and pagination.
Parameters
| Name | Type | Description |
|---|---|---|
status |
string | Filter by status (draft, active, paused, completed) |
category |
string | Filter by campaign category |
brandId |
string | Filter by brand ID |
budget_min |
number | Minimum budget filter |
page |
integer | Page number (default: 1) |
limit |
integer | Items per page (default: 10, max: 100) |
Example Request
Example Response
Create a new campaign.
Request Body
Quick Start
Get up and running with the Crowdswell API in just a few steps.
1. Make Your First Request
2. Create a Campaign
3. Search for Creators
Users
Manage user accounts including creators, brands, and administrators.
List all users with pagination and search capabilities.
Query Parameters
page(optional): Page number for pagination (default: 1)limit(optional): Number of users per page (default: 10)search(optional): Search by name or email
Example Request
Retrieve a specific user by ID.
Create a new user account with profile information.
Update user profile information and settings.
Delete a user account (soft delete to preserve data integrity).
Applications
Handle creator applications to campaigns with proposal management.
Submit an application to a campaign.
Brands
Manage brand profiles and company information.
Create a new brand profile.
Creators
Manage creator profiles, portfolios, and performance metrics.
Add a review for a creator after campaign completion.
Events
Manage events, webinars, and creator registrations.
Register a creator for an event.
Placements
Track content deliverables and performance metrics.
Submit content for a placement.
Tasks
Project management and task tracking for campaigns, placements, and general project management.
Retrieve all tasks with optional filtering and pagination.
Query Parameters
page(optional): Page number for pagination (default: 1)limit(optional): Number of tasks per page (default: 10)assignedTo(optional): Filter by assigned user IDcreatedBy(optional): Filter by creator user IDstatus(optional): Filter by status (pending, in_progress, completed, cancelled)priority(optional): Filter by priority (low, medium, high, urgent)dueDate(optional): Filter by due date (YYYY-MM-DD format)
Retrieve a specific task by ID.
Create a new task with assignment and deadline capabilities.
Required Fields
title: Task titlecreatedBy: User ID of task creator
Update task status with automatic progress tracking.
Valid Status Values
pending: Task not yet startedin_progress: Task currently being worked oncompleted: Task finished (auto-sets progress to 100%)cancelled: Task cancelled
Update task progress percentage (0-100) with automatic status updates.
Add a comment to a task for collaboration and progress tracking.
Update task details (excluding system fields like createdBy, createdAt, comments).
Permanently delete a task.
Jobs
Manage job postings, applications, and hiring workflows for creator positions.
Retrieve all job postings with filtering and pagination.
Query Parameters
page(optional): Page number for pagination (default: 1)limit(optional): Number of jobs per page (default: 10)jobType(optional): Filter by job type (full-time, part-time, contract, freelance, campaign, internship)status(optional): Filter by status (active, closed, draft)brandId(optional): Filter by brand IDcategory(optional): Filter by job categorylocation(optional): Filter by location (case-insensitive partial match)
Retrieve a specific job posting by ID.
Create a new job posting with compensation and requirement details.
Required Fields
title: Job titledescription: Job descriptionjobType: Type of job (full-time, part-time, contract, freelance, campaign, internship)
Submit an application for a job posting.
Required Fields
applicantId: ID of the user applying
Retrieve all applications for a specific job posting.
Query Parameters
status(optional): Filter by application status (pending, reviewed, accepted, rejected)
Increment the view count for a job posting (for analytics).
Update job posting details (excluding system fields like createdAt, applications, views).
Permanently delete a job posting.
Statistics
Comprehensive platform analytics and statistical reporting for campaigns, users, and system performance.
Get high-level platform statistics including counts of campaigns, users, applications, and jobs.
Example Response
Get detailed statistics for a specific campaign including applications and performance metrics.
Get user activity statistics and performance metrics.
Get platform trends and time-series data for analytics dashboards.
Query Parameters
period: Time period (day, week, month, year)metric: Specific metric to trackstartDate: Start date for time rangeendDate: End date for time range
Session Management
Manage user sessions, authentication state, and API versioning.
Get information about the current user session.
Example Response
Create a new session for user authentication.
Required Fields
userId: ID of the user to create session for
Destroy the current session and clear authentication state.
Update session data with new key-value pairs.
Remove a specific key from session data.
Search & Filtering
The Crowdswell API provides powerful search capabilities across all resources with support for full-text search, advanced filtering, sorting, and autocomplete suggestions.
Universal search endpoint supporting full-text search, filtering, and faceting.
Supported Collections
Core Collections
users, campaigns, creators, brands, jobs, events
Extended Collections
mediaplans, applications, placements, tasks
Request Body
Search Features
| Feature | Description | Example |
|---|---|---|
| Full-text Search | Search across multiple text fields | "fashion influencer" |
| Filtering | MongoDB-style query filters | {"status": "active"} |
| Faceting | Aggregated counts by field values | ["category", "status"] |
| Highlighting | Highlight search terms in results | "highlight": true |
| Fuzzy Matching | Handle typos and variations | "fuzzy": true |
Get autocomplete suggestions for search queries.
Example Request
Example Response
File Management
Comprehensive file upload and management system with automatic processing, thumbnail generation, and metadata extraction.
Upload a single file with optional processing options.
Form Data
| Field | Type | Required | Description |
|---|---|---|---|
file |
file | Yes | The file to upload |
generateThumbnails |
boolean | No | Generate image thumbnails |
compressImages |
boolean | No | Compress images |
extractMetadata |
boolean | No | Extract file metadata |
Example Request
File Processing Features
🖼️ Thumbnail Generation
Automatic thumbnail creation in multiple sizes (small, medium, large)
📊 Metadata Extraction
Extract EXIF data, dimensions, duration, and other metadata
🗜️ Image Compression
Reduce file size while maintaining visual quality
🔍 File Validation
Virus scanning and file type validation
Analytics & Reporting
Real-time analytics and comprehensive reporting system for tracking API usage, performance metrics, and business insights.
Get high-level analytics overview with key metrics.
Example Response
Get real-time metrics updated every minute.
Real-time Metrics
👥 Active Users
Currently active users on the platform
⚡ Requests/Minute
API requests in the last minute
📊 Response Time
Average response time across all endpoints
🚨 Error Count
Number of errors in the last minute
Bulk Operations
Efficient bulk operations for creating, updating, and deleting multiple records in a single request.
Create multiple records in a single operation.
Request Body
Supported Operations
| Operation | Endpoint | Description |
|---|---|---|
| Bulk Create | POST /api/bulk/{collection}/create |
Create multiple records |
| Bulk Update | PUT /api/bulk/{collection}/update |
Update multiple records |
| Bulk Delete | DELETE /api/bulk/{collection}/delete |
Delete multiple records |
| Bulk Upsert | POST /api/bulk/{collection}/upsert |
Create or update records |
| CSV Import | POST /api/bulk/{collection}/csv-import |
Import from CSV file |
Data Export/Import
Comprehensive data export and import functionality supporting JSON, CSV, and XML formats.
Export data in various formats with filtering options.
Supported Formats
📄 JSON
JavaScript Object Notation (default)
📊 CSV
Comma-Separated Values
🏷️ XML
Extensible Markup Language
Example Request
Import data from JSON, CSV, or XML files.
Import Features
✅ Validation
Comprehensive data validation before import
🔄 Update Existing
Option to update existing records
📊 Progress Tracking
Real-time import progress and error reporting
⚡ Batch Processing
Efficient batch processing for large datasets
Caching
Redis-powered caching system for improved performance and reduced database load.
Get cache performance statistics and metrics.
Example Response
Clear cache by pattern.
Media Plans
Create and manage comprehensive media planning and campaign strategies.
Create a new media plan for campaign strategy.
Request Body
📋 Strategy Planning
Define objectives, target audience, and campaign approach
📅 Timeline Management
Plan campaign phases and milestone tracking
💰 Budget Allocation
Track spending across different campaign elements
📊 Performance Tracking
Monitor media plan effectiveness and ROI
Error Handling
The Crowdswell API uses conventional HTTP response codes and provides detailed error information.
Error Response Format
Common Error Types
| Error Type | Status Code | Description |
|---|---|---|
| ValidationError | 400 | Invalid request parameters or validation failures |
| NotFoundError | 404 | Requested resource doesn't exist |
| ConflictError | 409 | Resource already exists or constraint violation |
| RateLimitError | 429 | Too many requests, rate limit exceeded |
| ServerError | 500 | Internal server error |
Rate Limits
To ensure fair usage and maintain service quality, the API implements rate limiting.
Rate Limit Headers
Default Limits
| Endpoint Type | Requests per Hour | Burst Limit |
|---|---|---|
| Read Operations | 1000 | 50 |
| Write Operations | 500 | 25 |
| Search Operations | 200 | 10 |
| File Uploads | 100 | 5 |
| Bulk Operations | 50 | 2 |
SDKs & Libraries
Official and community SDKs for popular programming languages.
JavaScript/Node.js
Python
Webhooks (Coming Soon)
The Crowdswell API will support webhooks to notify your application when events occur.
Planned Event Types
Campaign Events
campaign.created, campaign.updated, campaign.completed
Application Events
application.submitted, application.approved, application.rejected
Content Events
placement.content_submitted, placement.metrics_updated
User Events
user.created, user.updated, user.deleted