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

# Preview updating a directory server from its entry

> Reads the server's integration directory entry again, probes its URL, and reports the display name, homepage, URL, headers and auth the update would move the server to, and whether its connections would go. Writes nothing. Refused with mcp_server_not_from_directory for a server not installed from the directory, integration_not_in_directory when the directory lists it no more, and integration_shape_changed when the directory installs it as a plugin now: delete it and install it again.



## OpenAPI

````yaml api-reference/openapi.v1.json POST /mcp-servers/{mcpServerID}/directory-update-preview
openapi: 3.1.0
info:
  title: Aether Public API
  version: 0.1.0
  description: >-
    The versioned, public Aether REST API. Authenticate with an `aether_`
    platform API key or a session token.
servers:
  - url: https://api.runaether.dev/v1
security:
  - bearerAuth: []
paths:
  /mcp-servers/{mcpServerID}/directory-update-preview:
    post:
      tags:
        - mcp-servers
      summary: Preview updating a directory server from its entry
      description: >-
        Reads the server's integration directory entry again, probes its URL,
        and reports the display name, homepage, URL, headers and auth the update
        would move the server to, and whether its connections would go. Writes
        nothing. Refused with mcp_server_not_from_directory for a server not
        installed from the directory, integration_not_in_directory when the
        directory lists it no more, and integration_shape_changed when the
        directory installs it as a plugin now: delete it and install it again.
      operationId: previewDirectoryMcpServerUpdate
      parameters:
        - in: path
          name: mcpServerID
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectoryMcpServerUpdatePreviewResponse'
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpServerErrorResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/McpServerErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    DirectoryMcpServerUpdatePreviewResponse:
      additionalProperties: false
      properties:
        update:
          $ref: '#/components/schemas/DirectoryMcpServerUpdatePreview'
      required:
        - update
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    McpServerErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - mcp_server_key_invalid
            - mcp_server_key_reserved
            - mcp_server_key_taken
            - mcp_server_display_name_invalid
            - mcp_server_url_invalid
            - mcp_server_runtime_invalid
            - mcp_server_package_invalid
            - mcp_server_version_unpinned
            - mcp_server_args_invalid
            - mcp_server_env_invalid
            - mcp_server_kind_change_refused
            - mcp_server_address_refused
            - mcp_server_unreachable
            - mcp_server_not_mcp
            - mcp_server_auth_unsupported
            - mcp_server_auth_discovery_failed
            - mcp_server_response_too_large
            - mcp_credential_policy_required
            - mcp_credential_policy_not_applicable
            - mcp_credential_policy_org_unavailable
            - mcp_server_api_key_not_applicable
            - mcp_connection_static_secret_not_accepted
            - mcp_connection_secret_invalid
            - mcp_connection_server_changed
            - mcp_server_aether_managed
            - mcp_connection_github_not_connected
            - mcp_connection_org_not_offered
            - mcp_server_headers_invalid
            - mcp_connection_oauth_not_accepted
            - mcp_oauth_not_advertised
            - mcp_oauth_pkce_unsupported
            - mcp_oauth_app_required
            - mcp_oauth_registration_failed
            - mcp_server_plugin_bundled
            - mcp_repo_config_invalid
            - mcp_oauth_app_issuer_invalid
            - mcp_oauth_app_invalid
            - mcp_oauth_app_auth_method_unsupported
            - mcp_server_directory_managed
            - mcp_server_not_from_directory
            - mcp_server_directory_moved
            - integration_not_in_directory
            - integration_shape_changed
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    DirectoryMcpServerUpdatePreview:
      additionalProperties: false
      properties:
        drops_connections:
          description: >-
            A new URL or auth deletes the server's connections, each entered for
            the URL and auth it was connected to.
          type: boolean
        from:
          $ref: '#/components/schemas/DirectoryMcpServerConfig'
        revision:
          description: >-
            The installed server's revision: a digest of everything it took from
            its directory entry.
          type: string
        to:
          $ref: '#/components/schemas/DirectoryMcpServerConfig'
        to_revision:
          description: The revision its entry resolves to now.
          type: string
      required:
        - revision
        - to_revision
        - from
        - to
        - drops_connections
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    DirectoryMcpServerConfig:
      additionalProperties: false
      properties:
        auth:
          enum:
            - none
            - static_secret
            - oauth
          type: string
        display_name:
          type: string
        headers:
          additionalProperties:
            type: string
          type: object
        homepage:
          type: string
        url:
          type: string
      required:
        - display_name
        - homepage
        - url
        - headers
        - auth
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

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