> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetoengage.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Move a feature request to a track

> Moves a feature request to another track and records the move in its activity log. `PUT` works the same as `PATCH`.

Set `notify_all_voters` to `true` to email every subscribed voter. If you leave out `message`, the default "now live" email is sent. Pass `changelog_id` to attach a changelog to the feature request and link it in that email. Get track ids from [List tracks](/api/tracks/list) and changelog ids from [List changelogs](/api/changelogs/list).

Send an `operation_key` to make the call safe to retry. See [Idempotency](/api/idempotency).

<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).</Info>


## OpenAPI

````yaml bundled/feature-requests.yaml PATCH /feature_requests/{id}/track
openapi: 3.0.3
info:
  title: NeetoEngage Feature Requests APIs
  version: 1.0.0
servers:
  - description: NeetoEngage APIs
    url: https://{your-subdomain}.neetoengage.com/api/external/v1
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/api/workspace-subdomain).
security: []
tags:
  - name: Feature requests
    description: APIs to search, file and follow up on feature requests.
paths:
  /feature_requests/{id}/track:
    patch:
      tags:
        - Feature requests
      summary: Move a feature request to a track
      description: >-
        Moves a feature request to another track and records the move in its
        activity log. `PUT` works the same as `PATCH`.


        Set `notify_all_voters` to `true` to email every subscribed voter. If
        you leave out `message`, the default "now live" email is sent. Pass
        `changelog_id` to attach a changelog to the feature request and link it
        in that email. Get track ids from [List tracks](/api/tracks/list) and
        changelog ids from [List changelogs](/api/changelogs/list).


        Send an `operation_key` to make the call safe to retry. See
        [Idempotency](/api/idempotency).
      operationId: moveFeatureRequest
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - $ref: '#/components/parameters/accept_header'
        - $ref: '#/components/parameters/feature_request_id_param'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - track_id
              properties:
                track_id:
                  type: string
                  format: uuid
                  description: Track to move the feature request to.
                  example: 7c1d9e52-0a4b-4f38-8e6d-93b5a2f4c107
                message:
                  type: string
                  description: >-
                    HTML body of the status update shown in the activity log
                    and, when `notify_all_voters` is `true`, emailed to voters.
                  example: <p>This shipped today.</p>
                notify_all_voters:
                  type: boolean
                  default: false
                  description: Email the status update to every subscribed voter.
                  example: true
                changelog_id:
                  type: string
                  format: uuid
                  description: Changelog to attach to the feature request.
                  example: d4a2b6f0-9c13-4e85-a7d1-58e3c0b9f216
                operation_key:
                  type: string
                  description: Retry token. See [Idempotency](/api/idempotency).
                  example: release-2026-03-move-120
      responses:
        '200':
          description: The feature request was moved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/move_response'
              example:
                feature_request:
                  id: 5f0f3c2e-8d1b-4c53-9a6e-2b7d41c9e8a1
                  title: Export roadmap as CSV
                  url: >-
                    https://spinkart.neetoengage.com/feature-requests/120-export-roadmap-as-csv
                  admin_url: >-
                    https://spinkart.neetoengage.com/admin/feature-requests/120-export-roadmap-as-csv
                  status: Shipped
                  track: Shipped
                  votes_count: 15
                  created_at: '2026-03-02T10:15:30Z'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          description: >-
            No feature request, track or changelog in this workspace matches the
            given id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              example:
                error: Track does not exist.
        '422':
          description: The `track_id` parameter is missing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              example:
                error: 'param is missing or the value is empty or invalid: track_id'
components:
  parameters:
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        API key. Refer to [Authentication](/api/authentication) for more
        information.
      required: true
      schema:
        type: string
    accept_header:
      in: header
      name: Accept
      description: Must be `application/json`.
      required: true
      schema:
        type: string
        enum:
          - application/json
        default: application/json
    feature_request_id_param:
      in: path
      name: id
      required: true
      description: >-
        The feature request's `id` (UUID) or its `slug`. The slug is the last
        segment of the feature request's admin URL, for example
        `120-export-roadmap-as-csv`. Both are accepted.
      schema:
        type: string
      example: 5f0f3c2e-8d1b-4c53-9a6e-2b7d41c9e8a1
  schemas:
    move_response:
      type: object
      properties:
        feature_request:
          $ref: '#/components/schemas/feature_request'
    error:
      type: object
      properties:
        error:
          type: string
          description: A human readable error message.
    feature_request:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the feature request.
          example: 5f0f3c2e-8d1b-4c53-9a6e-2b7d41c9e8a1
        title:
          type: string
          description: Title of the feature request. Public on the roadmap.
          example: Export roadmap as CSV
        url:
          type: string
          description: Public URL of the feature request on the roadmap.
          example: >-
            https://spinkart.neetoengage.com/feature-requests/120-export-roadmap-as-csv
        admin_url:
          type: string
          description: URL of the feature request in the NeetoEngage admin panel.
          example: >-
            https://spinkart.neetoengage.com/admin/feature-requests/120-export-roadmap-as-csv
        status:
          type: string
          nullable: true
          description: >-
            Name of the public roadmap lane the feature request is shown in.
            `null` when the feature request's track does not map to a public
            lane.
          example: Under consideration
        track:
          type: string
          nullable: true
          description: Name of the track the feature request is on.
          example: Backlog
        votes_count:
          type: integer
          description: Number of votes on the feature request.
          example: 1
        created_at:
          type: string
          format: date-time
          description: Time the feature request was created.
          example: '2026-03-02T10:15:30Z'
  responses:
    unauthorized:
      description: The API key is missing, invalid, or expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: Could not authenticate, invalid API Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.