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

# Update a module from its stored registry

> Re-resolves the stored registry source URL, compares the registry hash against the stored hash, and re-downloads and re-installs the archive if changed. Returns updated: false when the archive is unchanged. Only works for registry-installed modules. After a successful archive replacement every non-missing service targeting this adapter is regenerated via the new module's generateDefinition. Services that fail regeneration are marked stale and cannot be invoked until synced.



## OpenAPI

````yaml /cyrnel/openapi.json post /modules/{moduleId}/update
openapi: 3.0.0
info:
  title: Cyrnel API
  description: >-
    Cyrnel is a universal layer that connects AI agents and LLM applications to
    any external service, API, or device regardless of protocol or standard. It
    acts as an adaptive bridge between your AI and the outside world, enabling
    seamless integrations through code execution, async operation handling, and
    built-in observability and security controls.
  version: 1.0.0
servers:
  - url: http://localhost:9371
security: []
paths:
  /modules/{moduleId}/update:
    post:
      tags:
        - Modules
      summary: Update a module from its stored registry
      description: >-
        Re-resolves the stored registry source URL, compares the registry hash
        against the stored hash, and re-downloads and re-installs the archive if
        changed. Returns updated: false when the archive is unchanged. Only
        works for registry-installed modules. After a successful archive
        replacement every non-missing service targeting this adapter is
        regenerated via the new module's generateDefinition. Services that fail
        regeneration are marked stale and cannot be invoked until synced.
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Module identifier.
          required: true
          description: Module identifier.
          name: moduleId
          in: path
      responses:
        '200':
          description: Update result for the requested module.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleUpdateResponse'
        '400':
          description: The moduleId path parameter was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: A bearer token was required but missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: The module could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: >-
            The module has no stored registry source and cannot be updated
            automatically.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '413':
          description: The downloaded archive exceeded the configured size limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: The module could not be updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '502':
          description: The registry or archive file could not be downloaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
components:
  schemas:
    ModuleUpdateResponse:
      type: object
      properties:
        updated:
          type: boolean
          description: Whether the module was updated (false if no change detected).
      required:
        - updated
      description: Response returned by the module update endpoint.
    ApiErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message returned by the API.
      required:
        - error
      description: Standard error envelope returned by the HTTP error middleware.

````