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

# Update activity definition

> Update an existing activity definition template:

**Required Parameters**:
- `id`: Unique identifier of the activity definition to update
- `name`: Human-readable name for the definition
- `uiCode`: React component body code for the input form (do NOT include
  `function ActivityUI(...) {` or the closing brace - the system wraps it)
- `calcCode`: JavaScript function body code for the calculation (do NOT include
  `async function calculate(inputValues) {` or the closing brace - the system wraps it using `inputs`)
- `inputs`: Complete array of input field definitions

**Optional Parameters**:
- `description`: Detailed description of the activity type
- `metadataSchema`: Declared metadata fields returned by the calculation
- `isCommon`: Toggle shared visibility for all organizations (admin only)

This endpoint replaces the editable activity definition fields and returns the updated definition. Updating calculation code can change future calculation results, so test the definition before applying changes in production workflows.



## OpenAPI

````yaml https://app.azalt.co/api/v1/openapi.json put /activity-definitions/{id}
openapi: 3.0.3
info:
  title: Erguvan Public API
  version: 1.0.0
servers:
  - url: https://app.azalt.co/api/v1
security: []
paths:
  /activity-definitions/{id}:
    put:
      tags:
        - ActivityDefinition
      summary: Update activity definition
      description: >-
        Update an existing activity definition template:


        **Required Parameters**:

        - `id`: Unique identifier of the activity definition to update

        - `name`: Human-readable name for the definition

        - `uiCode`: React component body code for the input form (do NOT include
          `function ActivityUI(...) {` or the closing brace - the system wraps it)
        - `calcCode`: JavaScript function body code for the calculation (do NOT
        include
          `async function calculate(inputValues) {` or the closing brace - the system wraps it using `inputs`)
        - `inputs`: Complete array of input field definitions


        **Optional Parameters**:

        - `description`: Detailed description of the activity type

        - `metadataSchema`: Declared metadata fields returned by the calculation

        - `isCommon`: Toggle shared visibility for all organizations (admin
        only)


        This endpoint replaces the editable activity definition fields and
        returns the updated definition. Updating calculation code can change
        future calculation results, so test the definition before applying
        changes in production workflows.
      operationId: updateActivityDefinition
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                description:
                  type: string
                uiCode:
                  type: string
                calcCode:
                  type: string
                inputs:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          name:
                            type: string
                          exportName:
                            type: string
                          type:
                            type: string
                            enum:
                              - string
                          required:
                            type: boolean
                          example:
                            type: string
                          editor:
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - select
                                  options:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        label:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                        - label
                                        - value
                                required:
                                  - type
                                  - options
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - datasetItemSelector
                                  datasetName:
                                    type: string
                                  groupByName:
                                    type: boolean
                                  prefetchItems:
                                    type: boolean
                                  minSearchLength:
                                    type: integer
                                    minimum: 0
                                required:
                                  - type
                                  - datasetName
                        required:
                          - name
                          - type
                          - required
                      - type: object
                        properties:
                          name:
                            type: string
                          exportName:
                            type: string
                          type:
                            type: string
                            enum:
                              - number
                          required:
                            type: boolean
                          example:
                            type: number
                        required:
                          - name
                          - type
                          - required
                      - type: object
                        properties:
                          name:
                            type: string
                          exportName:
                            type: string
                          type:
                            type: string
                            enum:
                              - array
                          required:
                            type: boolean
                          item:
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - string
                                  example:
                                    type: string
                                required:
                                  - type
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - number
                                  example:
                                    type: number
                                required:
                                  - type
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - object
                                  fields:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        exportName:
                                          type: string
                                        type:
                                          type: string
                                          enum:
                                            - string
                                            - number
                                        required:
                                          type: boolean
                                        example:
                                          anyOf:
                                            - type: string
                                            - type: number
                                      required:
                                        - name
                                        - type
                                    minItems: 1
                                required:
                                  - type
                                  - fields
                          minItems:
                            type: integer
                            minimum: 0
                          maxItems:
                            type: integer
                            minimum: 1
                          example: {}
                        required:
                          - name
                          - type
                          - required
                          - item
                metadataSchema:
                  type: object
                  additionalProperties: {}
                  default: {}
                isCommon:
                  type: boolean
              required:
                - name
                - uiCode
                - calcCode
                - inputs
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  description:
                    type: string
                    nullable: true
                  uiCode:
                    type: string
                  calcCode:
                    type: string
                  inputs:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            name:
                              type: string
                            exportName:
                              type: string
                            type:
                              type: string
                              enum:
                                - string
                            required:
                              type: boolean
                            example:
                              type: string
                            editor:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - select
                                    options:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          label:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                          - label
                                          - value
                                  required:
                                    - type
                                    - options
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - datasetItemSelector
                                    datasetName:
                                      type: string
                                    groupByName:
                                      type: boolean
                                    prefetchItems:
                                      type: boolean
                                    minSearchLength:
                                      type: integer
                                      minimum: 0
                                  required:
                                    - type
                                    - datasetName
                          required:
                            - name
                            - type
                            - required
                        - type: object
                          properties:
                            name:
                              type: string
                            exportName:
                              type: string
                            type:
                              type: string
                              enum:
                                - number
                            required:
                              type: boolean
                            example:
                              type: number
                          required:
                            - name
                            - type
                            - required
                        - type: object
                          properties:
                            name:
                              type: string
                            exportName:
                              type: string
                            type:
                              type: string
                              enum:
                                - array
                            required:
                              type: boolean
                            item:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - string
                                    example:
                                      type: string
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - number
                                    example:
                                      type: number
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - object
                                    fields:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                          exportName:
                                            type: string
                                          type:
                                            type: string
                                            enum:
                                              - string
                                              - number
                                          required:
                                            type: boolean
                                          example:
                                            anyOf:
                                              - type: string
                                              - type: number
                                        required:
                                          - name
                                          - type
                                      minItems: 1
                                  required:
                                    - type
                                    - fields
                            minItems:
                              type: integer
                              minimum: 0
                            maxItems:
                              type: integer
                              minimum: 1
                            example: {}
                          required:
                            - name
                            - type
                            - required
                            - item
                  organizationId:
                    type: string
                    nullable: true
                  metadataSchema:
                    type: object
                    additionalProperties: {}
                    default: {}
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                required:
                  - id
                  - name
                  - description
                  - uiCode
                  - calcCode
                  - inputs
                  - organizationId
                  - metadataSchema
                  - createdAt
                  - updatedAt
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - Authorization: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Not found error (404)
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````