Use the ProductLift API

How to get there: Go to Settings in the sidebar → API & Webhooks (opens a separate page) → API Tokens section.

Seamlessly integrate ProductLift into your existing services using our robust API. Our comprehensive documentation provides all the details you need to get started.

API DocumentationFor in-depth technical information and usage examples, please refer to our official API documentation:

ProductLift API Documentation

For AI agents

If you are wiring ProductLift into an AI agent or LLM tool, point it at the machine-readable OpenAPI 3 specification instead of the human docs:

Each portal also serves its own copy of the spec at /docs/api.yaml, so you can target a specific customer portal directly.

Obtaining an API Token

To begin using the API, you'll need to generate an API token. Follow these steps:

  1. Log in to your ProductLift portal
  2. Navigate to Settings → API & Webhooks
  3. Click Create API key
  4. Give the key a descriptive name (for example, "Zapier integration" or "Internal dashboard")
  5. Pick an expiration30 days, 90 days, 1 year, or Never. Expired keys are automatically rejected by the API.
  6. Pick an access scope:
    • Full access (read & write) — can create, update, and delete resources. Use this for integrations that automate changes.
    • Read only (GET requests only) — can read data but cannot create, update, or delete anything. Use this for dashboards, monitoring, or AI agents that only need to fetch data.
  7. Click Create. The new key is shown once in a popup with a copy-to-clipboard button and a ready-to-paste curl command that verifies the key works. Copy the key now and store it somewhere safe — it will not be displayed again.

Managing existing keys

The API keys list shows each key's name, scope badge, creation date, last-used time, and expiration. Use this to spot stale or unused keys and revoke them.

To revoke a key, click the trash icon next to it. Revoking a key takes effect immediately for the next API call made with it.

Testing a key

After creating a key, the success popup includes a curl command pointing at the GET /api/v1/portal endpoint. Paste it in a terminal — a 200 response with your portal details confirms the key is working. A 403 means the key is invalid, revoked, or expired.

Getting Started

Our API documentation covers everything from authentication to specific endpoint usage. Whether you're looking to automate workflows, retrieve data, or implement custom integrations, our API provides the flexibility you need.

For any questions or support regarding API usage, please don't hesitate to contact our developer support team.

Rate limiting

API requests are rate limited per token. The default limit applied to most authenticated endpoints is 120 requests per minute. A handful of public endpoints (such as login helpers) carry stricter per-IP limits.

When you hit the limit the API returns HTTP 429 Too Many Requests. The response includes Retry-After, X-RateLimit-Limit, and X-RateLimit-Remaining headers, so clients can back off and retry automatically.

If you need a higher limit for a specific use case, contact support with details about the integration and expected request volume.

Pagination

List endpoints return paginated results. Two pagination styles are in use depending on the endpoint.

  • Limit and skip. Most list endpoints (for example GET /api/v1/posts) accept limit (1 to 100, default 10) and skip (default 0).
  • Page and per_page. Some endpoints use the standard Laravel paginator with page (default 1) and per_page (default 25, capped at 200), and return total, current_page, last_page, and per_page alongside the data.

Refer to each endpoint in the API documentation for its exact pagination parameters and response shape.

Managing boards and sections

Boards (called tabs in the API) and their sections are addressable and editable through the API. Use these when you script portal setup, migrate a portal, or rename structure from an external tool.

  • Update a board: PATCH /api/v1/tabs/{slug} to change title, description, visibility, or sort order.
  • Update a section: PATCH /api/v1/sections/{id} to rename or reorder a section within its board.
  • List sections: GET /api/v1/sections returns every section on the portal so you can look up IDs.
  • List statuses: GET /api/v1/statuses returns every status and the tab it belongs to. Useful when routing new posts to the correct changelog status (Added, Fixed, Improved).

The full request and response schema for each of these endpoints lives at /docs/api.

Other ways to integrate

Webhooks

ProductLift supports webhooks for real-time event notifications. To learn how to set up and use webhooks with ProductLift, visit our detailed guide:

Webhooks Guide

Pabbly Connect Integration

Automate your workflows by integrating ProductLift with other applications using Pabbly Connect. For step-by-step instructions and use cases, refer to our integration guide:

Pabbly Connect Integration Guide