---
title: "Create a feature request"
method: POST
path: "/feature-requests"
tags: ["feature-requests"]
---

# Create a feature request

`POST /feature-requests`

Creates a new feature request. When should_auto_fetch_evidence is true, supporting evidence is automatically gathered and used to generate the description.

**Rate limit:** 20 requests per minute

## Request body

- CreateFeatureRequestRequest
  - `description` string — The description of the feature request. Ignored when should_auto_fetch_evidence is true, since the description is then generated from gathered evidence.
  - `should_auto_fetch_evidence` boolean — When true, asynchronously gathers supporting evidence and generates a description, mirroring the in-app experience. Defaults to false, which creates the feature request as-is.
  - `title` string, required — The title of the feature request.

## Response `200`

- CreateFeatureRequestResponseBody
  - `data` FeatureRequest
    - `created_at` string — The time the feature request was created (RFC3339).
    - `custom_fields` object — Custom field values associated with the feature request, keyed by custom field slug.
    - `description` string — The description of the feature request.
    - `evidence` FeatureRequestEvidence[] — Evidence items linked to this feature request. Only populated when fetch_evidence=true.
      - `account_id` string — The ID of the customer account that submitted this evidence (e.g. the account whose issue or call recording is linked), if available.
      - `external_url` string — The URL of the evidence in the external system (e.g. Fathom, Gong). Only included for call recording evidence when the value is known; omitted for other evidence sources.
      - `source_id` string — The ID of the linked issue. Only present for issue evidence.
      - `source_type` string — The source type of the evidence (e.g. 'issue', 'call_recording', 'survey_response', 'manual').
      - `summary` string — An AI-generated summary of why this evidence supports the feature request.
    - `evidence_count` integer — The number of evidence items (excluding irrelevant) linked to this feature request.
    - `external_issues` ExternalIssue[] — The external product issues associated with the feature request, if any.
      - `external_id` string — The external ID of the external issue. Jira: ID of the issue (autoincrementing number from 10000). GitHub: Owner/Repo/IssueID. Linear: ID of the issue (UUID). Asana: ID of the task (Long number).
      - `link` string — Link to the product issue.
      - `source` string — The source of the external issue.
    - `id` string — The ID of the feature request.
    - `portal_visible_to_account_ids` string[] — Account IDs that can see this feature request in the customer portal. Empty means hidden from all accounts. Only takes effect when the Feature Requests tab is enabled in portal settings.
    - `request_status` string — The status of the feature request. Can be a built-in status (new, in_progress, closed, archived) or a custom status slug.
    - `title` string — The title of the feature request.
    - `updated_at` string — The time the feature request was last updated (RFC3339).
  - `request_id` string

## Other responses

- `400` — The request was invalid or could not be completed.
- `403` — The authenticated caller or organization is not allowed to access this endpoint or operation.
- `500` — An unexpected internal error occurred.

---

[API](https://skmtc.net/usepylon/apis/pylon-api.md) · [All operations](https://skmtc.net/usepylon/apis/pylon-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usepylon/pylon-api/versions/999c51740b4e/schema)
