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

# Rename or assign an action

> Changes the title of an accepted or live action, sets or clears its owner, or both. Restore an archived action first. DevTune's suggestions, including dismissed and snoozed ones, keep their title and have no owner; accept one before renaming or assigning it. assignedTo is the user id or sign-in email of a current member of the account that owns the project; null unassigns. A change queues an action.updated webhook with changedFields title and/or assigned_to. The owner is not notified and the brief is not marked out of date.



## OpenAPI

````yaml /openapi.json patch /projects/{projectId}/actions/{actionId}
openapi: 3.1.0
info:
  title: DevTune API
  version: 2.0.0
  description: >-
    API for programmatic access to your AI visibility data, webhook
    subscriptions, and automation workflows. Use this API to integrate DevTune
    data into CI/CD pipelines, BI tools, AI agents, and operational systems.
servers:
  - url: https://devtune.ai/api/v2
    description: Production
security:
  - bearerAuth: []
paths:
  /projects/{projectId}/actions/{actionId}:
    patch:
      summary: Rename or assign an action
      description: >-
        Changes the title of an accepted or live action, sets or clears its
        owner, or both. Restore an archived action first. DevTune's suggestions,
        including dismissed and snoozed ones, keep their title and have no
        owner; accept one before renaming or assigning it. assignedTo is the
        user id or sign-in email of a current member of the account that owns
        the project; null unassigns. A change queues an action.updated webhook
        with changedFields title and/or assigned_to. The owner is not notified
        and the brief is not marked out of date.
      operationId: updateAction
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: actionId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 500
                  description: >-
                    New title. Surrounding whitespace is trimmed; a blank title
                    is refused.
                assignedTo:
                  type:
                    - string
                    - 'null'
                  description: >-
                    The new owner as a user id or the email they sign in with,
                    or null to unassign. The owner must be a current member of
                    the account.
      responses:
        '200':
          description: The updated action
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      title:
                        type: string
                      status:
                        $ref: '#/components/schemas/PublicActionStatus'
                      assignedTo:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      ownerName:
                        type:
                          - string
                          - 'null'
                      updatedAt:
                        type: string
                        format: date-time
        '400':
          description: Invalid input, or assignedTo is not a member of the account
        '404':
          description: Action not found in this project
        '409':
          description: The action is suggested, or it changed during the update
components:
  schemas:
    PublicActionStatus:
      type: string
      enum:
        - suggested
        - accepted
        - live
        - archived
      description: >-
        suggested: DevTune proposed it and nobody has decided. accepted: the
        team wants it done. live: the page is published and its measurement
        window is open. archived: taken off the queue by the team.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key with dtk_live_ prefix. Obtain it from API Keys in the account
        sidebar. New keys start with all supported scopes selected for the
        chosen project, and you can narrow them to specific read/write scopes as
        needed.

````