> ## 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.

# Replace a service via direct URL

> Downloads the definition file from the supplied direct URL and replaces the existing service. The stored registry source is cleared, making the service a direct-installed item.



## OpenAPI

````yaml /cyrnel/openapi.json patch /services/{serviceId}
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:
  /services/{serviceId}:
    patch:
      tags:
        - Services
      summary: Replace a service via direct URL
      description: >-
        Downloads the definition file from the supplied direct URL and replaces
        the existing service. The stored registry source is cleared, making the
        service a direct-installed item.
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Service identifier matching the installed manifest id.
          required: true
          description: Service identifier matching the installed manifest id.
          name: serviceId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServicePatchRequest'
      responses:
        '200':
          description: Update result for the requested service.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicePatchResponse'
        '400':
          description: The serviceId path parameter or request body 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 service could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '413':
          description: The downloaded definition exceeded the configured size limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: The service could not be updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '502':
          description: The definition file could not be downloaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
components:
  schemas:
    ServicePatchRequest:
      type: object
      properties:
        url:
          type: string
          minLength: 1
          description: >-
            Direct URL of the new definition file to replace the existing
            installation.
      required:
        - url
      description: Request body used to replace a service via a direct download URL.
    ServicePatchResponse:
      type: object
      properties:
        updated:
          type: boolean
          description: Whether the service was updated (false if no change detected).
      required:
        - updated
      description: Response returned by the service patch 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.

````