Skip to main content

Overview

Projects are logical containers for your application’s errors, logs, and session replays. Each project represents a distinct application or service and has its own API keys and settings.

Creating a Project

Projects are created within organizations. Each project can track a different platform (web, mobile, backend, etc.).
1

Navigate to Projects

Go to your organization dashboard and click “New Project”
2

Configure Project Details

  • Name: A descriptive name for your application
  • Platform: Select your platform type (JavaScript, Python, React Native, etc.)
3

Create and Get API Key

Your project is created with an initial API key. Copy this key immediately - it’s only shown once!

Project Settings

Basic Settings

Update your project’s name and platform type from the project settings page:
PATCH /api/v1/projects/{project_id}

Linking a GitHub Repository

Connect your project to a GitHub repository to enable source code context in error stack traces.
1

Install GitHub App

First, install the Proliferate GitHub App for your organization from Settings > Integrations
2

Link Repository to Project

In project settings, select the repository and default branch:
  • Repository: owner/repo-name
  • Default Branch: Usually main or master
  • Source Path Prefix (optional): If your source code is in a subdirectory
What this enables:
  • View original source code in error stack traces
  • Jump directly to the problematic line in GitHub
  • See source context even with minified production code (via source maps)

API Key Management

API keys authenticate your SDK and allow it to send data to Proliferate.

Creating API Keys

You can create multiple API keys per project (e.g., for different environments or rotating credentials).
curl -X POST https://api.proliferate.com/api/v1/projects/{project_id}/api-keys \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Key"
  }'
The full API key is only shown once during creation. Store it securely in your environment variables.

Key Format

API keys follow the pattern: pk_<random_string> Example: pk_abc123def456ghi789

Listing API Keys

View all API keys for a project. Keys are masked in list view for security:
GET /api/v1/projects/{project_id}/api-keys
Response:
{
  "api_keys": [
    {
      "id": 1,
      "project_id": 123,
      "name": "Production Key",
      "key_prefix": "pk_abc123de...",
      "last_used_at": "2025-01-15T10:30:00Z",
      "revoked_at": null,
      "created_at": "2025-01-01T00:00:00Z"
    }
  ],
  "total": 1
}

Rotating API Keys

To rotate an API key:
1

Create New Key

Generate a new API key with a descriptive name (e.g., “Production Key v2”)
2

Update Your Application

Deploy your application with the new key in environment variables
3

Revoke Old Key

Once the new key is deployed, revoke the old key:
DELETE /api/v1/projects/{project_id}/api-keys/{key_id}
Revoked keys immediately stop working. Any requests using a revoked key will receive a 401 Unauthorized response.

Last Used Timestamp

Track when each API key was last used to identify unused or stale keys. The last_used_at field updates whenever the key is used to ingest data.

Platform Types

When creating a project, select the platform that best matches your application:
  • JavaScript: Browser-based web applications
  • React: React applications (web)
  • Next.js: Next.js applications
  • Vue: Vue.js applications
  • Node.js: Node.js backend services
  • Python: Python applications and APIs
  • React Native: React Native mobile apps
  • Other: Other platforms
The platform type helps tailor the dashboard experience and provides platform-specific guidance.

Deleting a Project

Deleting a project is permanent and will delete all associated data:
  • All error events and issues
  • All session replays
  • All logs
  • All API keys
  • All releases and source maps
Only organization owners and admins can delete projects.
DELETE /api/v1/projects/{project_id}

Best Practices

Multiple Projects Strategy

Create separate projects for:
  • Different applications: Frontend, backend, mobile app
  • Major platform differences: Web vs. native apps
  • Isolated environments (if you want separate error tracking): Some teams prefer one project with environment tags, others prefer separate projects per environment

API Key Security

  • Never commit API keys to version control
  • Use environment variables: PROLIFERATE_API_KEY=pk_...
  • Rotate keys periodically: Especially if a key may have been exposed
  • Use descriptive names: “Production Web App”, “Staging API”, etc.
  • Revoke unused keys: Keep your key list clean and secure

Repository Linking

When linking a GitHub repository:
  • Use the default branch where your production code lives
  • Set source path prefix if your code is in a subdirectory (e.g., packages/frontend)
  • Ensure the Proliferate GitHub App has access to the repository