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

# Edit a Data Studio app with operations

> Applies the operations on the current version (all or nothing) and stores a new version. Untouched components stay identical.



## OpenAPI

````yaml /openapi-v1.json post /v1/data-apps/{id}/operations
openapi: 3.0.0
info:
  title: Woku Client API v1
  description: >-
    Public REST API for programmatic management of woku Voice-of-Customer
    programs: trackers, VoC instruments (NPS, woku, CES, CSAT), action plans,
    support tickets, multi-channel sending and response capture. Requests are
    company-scoped by the API key; never send a company id.
  version: 1.0.0
  contact:
    name: Woku
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Production
security: []
tags: []
paths:
  /v1/data-apps/{id}/operations:
    post:
      tags:
        - v1 - data-apps
      summary: Edit a Data Studio app with operations
      description: >-
        Applies the operations on the current version (all or nothing) and
        stores a new version. Untouched components stay identical.
      operationId: V1DataAppsController_edit
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: ObjectId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditDataAppBodyDTO'
      responses:
        '201':
          description: New version, summary and issues
        '400':
          description: Invalid operations
        '409':
          description: baseVersion is not current
        '422':
          description: The resulting spec is invalid
      security:
        - bearer: []
components:
  schemas:
    EditDataAppBodyDTO:
      type: object
      properties:
        baseVersion:
          type: number
          minimum: 1
          description: >-
            Current version of the app. A stale version answers 409, read the
            app again.
        operations:
          type: array
          items:
            type: object
            additionalProperties: true
          maxItems: 40
          description: >-
            Operations applied all or nothing, each an object with "op"
            (addNode, removeNode, moveNode, updateProps, changeType, rebindData,
            setInteractions, addParam, updateParam, removeParam, addQuery,
            updateQuery, removeQuery, setTitle, upsertRequirement,
            removeRequirement, setAssumptions, insertSubtree).
      required:
        - baseVersion
        - operations
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Company secret API key.

````

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