Skip to Main Content

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:

🕐
Pending
New feature requests awaiting review
✓
Approved
Features approved for development
⚡
In Progress
Currently being developed
✓
Completed
Features that have been shipped
✕
Rejected
Features that won't be implemented

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
💡
Keyboard shortcuts
Press F to toggle filters, S to switch sorting, and ? to view all shortcuts.

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/sdk

Authentication

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

GET/feature-wishes

Retrieve all feature wishes for your project

Query Parameters:
  • limit - Number of results (default and maximum: 100)
  • offset - Pagination offset (default: 0)
POST/feature-wishes

Create a new feature wish

Request Body:
{
  "title": "Feature title",
  "description": "Detailed description",
  "authorEmail": "user@example.com"
}
POST/feature-wishes/:id/upvote

Toggle upvote for a feature wish

GET/feature-wishes/:id/comments

Get comments for a feature wish

POST/feature-wishes/:id/comments

Add a comment to a feature wish

Request Body:
{
  "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
⚠️
Need Help?
If you have questions or need assistance, please open an issue on our GitHub repository.