Web platform guide
Learn how to manage your projects and organize user feedback on the FeaturePortal dashboard.
Getting started
1. Create Your Account
Sign up at featureportal.com/register to get started. You'll receive a verification email to confirm your account.
2. Create Your First Project
Once logged in, click "New Project" to create your first project. Each project gets:
- A unique API key for SDK integration
- A dedicated dashboard for managing feature wishes
- A public roadmap URL for sharing with users
- Customizable tags for organizing features
Dashboard features
Kanban board
The main dashboard displays your feature wishes in a kanban board with five columns:
Drag and drop
Drag feature cards between columns to update their status. Changes are saved automatically and appear the next time a connected client refreshes its data.
Batch operations
Enable batch mode to select multiple features and:
- Delete multiple features at once
- Add tags to multiple features
Filtering and sorting
Use the toolbar to:
- Filter by tags: Show only features with specific tags
- Sort by date: See newest features first
- Sort by votes: Prioritize most-requested features
Project settings
General settings
- Project Name: Update your project's display name
- API Key: Copy or regenerate your API key for SDK integration
- Tags: Create and manage custom tags for categorizing features
Notifications
Enable daily digest emails to receive a summary of new feature wishes submitted in the last 24 hours. Emails are sent at 9 AM UTC and only include user-submitted feedback (not features you created yourself).
Public roadmap
When public roadmap sharing is enabled in Settings, your roadmap is available at featureportal.com/roadmap/[your-slug]. The roadmap displays:
- Approved features (planned)
- In Progress features (being built)
- Completed features (shipped)
Pending and rejected features are hidden from the public roadmap.
API Reference
Base URL
https://featureportal.com/api/sdkAuthentication
All API requests require your project's API key sent in the X-API-Key header:
X-API-Key: your_api_key_here
App-User Identity
Before creating a request, voting, or commenting, send POST /app-users with your project API key. The response contains { "data": { "id": "..." } }. Store that identifier for the user and send it as X-APP-USER-ID on subsequent requests. The iOS and macOS SDK and web widget handle this automatically.
Listing requests and comments requires only the project key. Include the app-user identifier when listing requests to get the correct upvotedByCurrentUser state. API successes wrap their result in data; errors return an error message with a non-success HTTP status.
Endpoints
/feature-wishesRetrieve all feature wishes for your project
limit- Number of results (default and maximum: 100)offset- Pagination offset (default: 0)
/feature-wishesCreate a new feature wish
{
"title": "Feature title",
"description": "Detailed description",
"authorEmail": "user@example.com"
}/feature-wishes/:id/upvoteToggle upvote for a feature wish
/feature-wishes/:id/commentsGet comments for a feature wish
/feature-wishes/:id/commentsAdd a comment to a feature wish
{
"body": "Comment text"
}View tracking
Send POST /feature-wishes/:id/view with X-API-KEY and a JSON body such as { "source": "ios" } or { "source": "web" }. The X-APP-USER-ID header is optional for views. This endpoint shares the read rate limit because views are frequent. The built-in SwiftUI detail view records these events automatically on iOS and macOS, using the source ios for both platforms.
Rate limiting
API requests are rate-limited to prevent abuse:
- Read operations (GET): 100 requests per minute
- Write operations (POST): 30 requests per minute per project