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

# Update an Endpoint

> Updates Endpoint settings in a Project. Allows modifying the Endpoint's activation status, Transformers, handover, analytics, and privacy options.



## OpenAPI

````yaml https://api-trial.cognigy.ai/openapi/openapi-viewer.json patch /v2.0/endpoints/{endpointId}
openapi: 3.0.0
info:
  title: Cognigy.AI REST-ful-API Reference
  version: 2026.10.1
  description: >

    ### Introduction

    This is the [OpenAPI 3.0](https://swagger.io/specification/) documentation
    of the
    [REST](https://en.wikipedia.org/wiki/Representational_state_transfer)-ful
    Cognigy.AI API.


    ### Cross-Origin Resource Sharing

    This API features Cross-Origin Resource Sharing (CORS) implemented in
    compliance with [W3C spec](https://www.w3.org/TR/cors/), which allows
    cross-domain communication from the browser. All responses include a
    wildcard same-origin header, making the API fully accessible.


    ### Authentication

    Cognigy.AI offers four forms of authentication:

    - API Key

    - CXone Token

    - OAuth2

    - BasicAuth


    An API Key is a security token. You can use API Keys in your path or HTTP
    header. Never expose your API Key and keep it safe and secure. Revoke the
    API Key if it got exposed or stolen.


    OAuth2 is an open protocol to allow secure authorization by web, mobile and
    desktop applications. For further information see [RFC 6749 - "The OAuth 2.0
    Authorization Framework"](https://tools.ietf.org/html/rfc6749) and [RFC 6750
    - "The OAuth 2.0 Authorization Framework: Bearer Token
    Usage"](https://tools.ietf.org/html/rfc6750).


    Basic Auth is only used for API calls regarding the Management-UI.


    ### Error Handling

    This API uses HTTP status codes equal or above 400 to indicate errors. Error
    details are generated in compliance with [RFC 7807 - "Problem Details for
    HTTP APIs"](https://tools.ietf.org/html/rfc7807).


    Every error response contains a traceId, which should be provided to the
    Cognigy.AI Technical Support when reporting an error.
  contact:
    name: Cognigy Technical Support
    url: https://www.cognigy.com
    email: support@cognigy.com
servers:
  - url: https://api-trial.cognigy.ai/new/
    description: Cognigy.AI API
security:
  - APIKeyHeader: []
  - APIKeyQueryParam: []
  - CXoneTokenHeader: []
  - OAuth2: []
  - BasicAuth: []
tags:
  - name: Cognigy.AI REST-ful API
    description: The Cognigy.AI REST-ful API
externalDocs:
  description: Cognigy.AI Documentation
  url: https://docs.cognigy.com/docs/
paths:
  /v2.0/endpoints/{endpointId}:
    patch:
      tags:
        - Endpoints
      summary: Update an Endpoint
      description: >-
        Updates Endpoint settings in a Project. Allows modifying the Endpoint's
        activation status, Transformers, handover, analytics, and privacy
        options.
      operationId: updateEndpoint
      parameters:
        - in: header
          name: Accept
          description: >-
            The `Accept` header specifies the media type that the client expects
            in the response. Available options: `application/json`,
            `application/hal+json`, `application/xml`, `text/xml`, `text/csv`.
            The default value is `application/json`.
          required: false
          schema:
            type: string
            enum:
              - application/json
              - application/hal+json
              - application/xml
              - text/xml
              - text/csv
          example: application/json
        - in: path
          name: endpointId
          description: The Id of the Endpoint
          required: true
          schema:
            type: string
            pattern: ^[a-z0-9]{24}$
            minLength: 24
            maxLength: 24
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                foreignId:
                  type: string
                channel:
                  type: string
                  example: webchat3
                  enum:
                    - facebook
                    - alexa
                    - slack
                    - generic
                    - inject
                    - rest
                    - realtime
                    - socket
                    - adminconsole
                    - webchat2
                    - dialogflow
                    - twilio
                    - twilio-sms
                    - line
                    - intercom
                    - microsoftBotFramework
                    - microsoftTeams
                    - sunshineConversations
                    - admin-webchat
                    - avaya
                    - nonConversational
                    - voiceGateway2
                    - amazonLex
                    - workplace
                    - webhook
                    - abstractRest
                    - userlike
                    - ringCentralEngage
                    - audioCodes
                    - bandwidth
                    - whatsapp
                    - eightByEight
                    - genesysBotConnector
                    - niceCXOne
                    - agentAssistVoice
                    - webchat3
                    - niceCXOneAAH
                    - zoomContactCenter
                    - mcpServer
                flowId:
                  type: string
                localeId:
                  type: string
                URLToken:
                  type: string
                  description: The URLToken of the endpoint
                  example: >-
                    f65b289912c929c2a09523dd48eedb1249bb74384f6561f84b4ffc5e84d2f15f
                name:
                  type: string
                  description: The name of the endpoint
                  example: New Endpoint
                entrypoint:
                  type: string
                  description: >-
                    The ID can be either a Snapshot ID or a Project ID. The
                    Endpoint will refer to the chosen one.
                  example: 667ed4ae16d66f47dc2a9400
                active:
                  type: boolean
                  description: Toggle whether the endpoint is active or not
                nluConnectorId:
                  oneOf:
                    - type: string
                      description: The NLU Connector type.
                      example: cognigy
                      enum:
                        - alexa
                        - dialogflow
                        - dialogflowBuiltIn
                        - amazonLexBuiltIn
                        - luis
                        - watson
                        - noNlu
                        - cognigy
                        - code
                        - generativeAI
                        - lex
                    - type: string
                useConversations:
                  type: boolean
                  description: Whether to collect conversations history for this endpoint
                maskIPAddress:
                  type: boolean
                  description: >-
                    Whether to mask sensitive IP address in input object and
                    analytics data for this endpoint
                maskAnalytics:
                  type: boolean
                  description: >-
                    Whether to mask sensitive data in analytics for this
                    endpoint
                maskLogging:
                  type: boolean
                  description: Whether to mask sensitive data in logs for this endpoint
                useContactProfiles:
                  type: boolean
                  description: Whether to use contact profiles for this endpoint
                useAnalytics:
                  type: boolean
                  description: Whether we should store analytics for this endpoint
                useDashbotAnalytics:
                  type: boolean
                  description: Whether we should use Dashbot to collect analytics
                dashbotApikey:
                  type: string
                  description: The apikey for the dashbot bot
                dashbotPlatform:
                  type: string
                disableInputSanitization:
                  type: string
                  description: >-
                    If true, disables input text sanitization after Input
                    Transformer
                disableSkipUriTags:
                  type: string
                  description: If true, disables skipping of uri tags
                overrideSnapshotConnections:
                  type: boolean
                settings:
                  type: object
                  properties:
                    accessScope:
                      type: string
                    accessToken:
                      type: string
                    appId:
                      type: string
                    appSecret:
                      type: string
                    backgroundImageUrl:
                      type: string
                    basicAuthPassword:
                      type: string
                    basicAuthUser:
                      type: string
                    botUserId:
                      type: string
                    businessHours:
                      type: object
                      properties:
                        businessHours:
                          type: array
                          items:
                            type: object
                            properties:
                              startTime:
                                type: string
                              endTime:
                                type: string
                              weekDay:
                                type: string
                        enabled:
                          type: boolean
                        text:
                          type: string
                        mode:
                          type: string
                        timeZone:
                          type: string
                        title:
                          type: string
                    colorScheme:
                      type: string
                    connectionName:
                      type: string
                    customJSON:
                      type: string
                    designTemplate:
                      type: integer
                    disableHtmlContentSanitization:
                      type: boolean
                    disableInputAutocomplete:
                      type: boolean
                    disableInputAutogrow:
                      type: boolean
                    disableUrlButtonSanitization:
                      type: boolean
                    enableGenericHTMLStyling:
                      type: boolean
                    enableAsyncCommunication:
                      type: boolean
                    engagementMessageText:
                      type: string
                    displayGetStartedButton:
                      type: boolean
                    dynamicImageAspectRatio:
                      type: boolean
                    enableCollectMetadata:
                      type: boolean
                    enableConnectionStatusIndicator:
                      type: boolean
                    enableDemoWebchat:
                      type: boolean
                    enableFileUpload:
                      type: boolean
                    enablePersistentMenu:
                      type: boolean
                    enableRating:
                      type: string
                      enum:
                        - onRequest
                        - always
                        - once
                    enableSTT:
                      type: boolean
                    enableTTS:
                      type: boolean
                    enableUnreadMessageBadge:
                      type: boolean
                    enableUnreadMessagePreview:
                      type: boolean
                    enableUnreadMessageSound:
                      type: boolean
                    enableUnreadMessageTitleIndicator:
                      type: boolean
                    enableTypingIndicator:
                      type: boolean
                    facebookPageToken:
                      type: string
                    focusInputAfterPostback:
                      type: boolean
                    getStartedButtonText:
                      type: string
                    getStartedPayload:
                      type: string
                    getStartedText:
                      type: string
                    getStartedData:
                      type: string
                    headerLogoUrl:
                      type: string
                    hubSecret:
                      type: string
                    inputAutogrowMaxRows:
                      type: number
                    inputPlaceholder:
                      type: string
                    language:
                      type: string
                    lineChannelAccessToken:
                      type: string
                    lineChannelSecret:
                      type: string
                    maintenance:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                        mode:
                          type: string
                        text:
                          type: string
                        title:
                          type: string
                    mergeContactProfiles:
                      type: boolean
                    messageDelay:
                      type: integer
                    messageLogoUrl:
                      type: string
                    overwriteWebchatBundleUrl:
                      type: string
                    ratingTitleText:
                      type: string
                    ratingCommentText:
                      type: string
                    ratingMessageHistoryRatingText:
                      type: string
                    ratingMessageHistoryCommentText:
                      type: string
                    reparseAlexaSlots:
                      type: boolean
                    requestFacebookProfileData:
                      type: boolean
                    sessionExpiration:
                      type: integer
                    shouldOverwriteWebchatBundleUrl:
                      type: boolean
                    showEngagementMessagesInChat:
                      type: boolean
                    slackOAuthAccessToken:
                      type: string
                    slackVerifyToken:
                      type: string
                    sunshineConversationsChannelKeyId:
                      type: string
                    sunshineConversationsChannelSecret:
                      type: string
                    sunshineConversationsChannelUri:
                      type: string
                      format: uri
                    tenantId:
                      type: string
                    updateContactProfileWithFacebookProfile:
                      type: boolean
                    voice:
                      type: string
                    webhookUrl:
                      type: string
                      format: uri
                    skill:
                      type: object
                    persistentMenu:
                      type: object
                transformer:
                  type: object
                  properties:
                    abortOnError:
                      type: boolean
                      description: >
                        If true, then we will abort the message processing if
                        the transformer throws an error. Otherwise, we will
                        continue with normal message processing in the event of
                        an error.
                    transformer:
                      type: string
                      description: >
                        The transformer object as written by the user. This will
                        be displayed in the UI since it includes typings.
                    transpiledTransformer:
                      type: string
                      description: >
                        The transformer object written by the user, but without
                        typings. This will be executed.
                    inputTransformerEnabled:
                      type: boolean
                    outputTransformerEnabled:
                      type: boolean
                    finalPingTransformerEnabled:
                      type: boolean
                    notifyTransformerEnabled:
                      type: boolean
                    injectTransformerEnabled:
                      type: boolean
                handoverSettings:
                  type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - cognigy
                        - none
                        - rce
                    providerSettings:
                      type: object
                      properties:
                        forwardOnlyHandoverConversations:
                          type: boolean
                          description: >
                            (rce) Whether to forward all conversations to the
                            provider, or only the conversations that trigger a
                            handover. If this setting is true, then we will only
                            forward conversations were handover was triggered.
                        getQueueUpdates:
                          type: boolean
                          description: >
                            (rce) Indicates if queue updates should be enabled
                            to receive events about the estimated wait time
                        apiVersion:
                          type: string
                          description: (salesforce) Salesforce LiveAgent API Version
                        baseUrl:
                          type: string
                          description: Base URL of the LiveAgent API Deployment
                        apiAccessToken:
                          type: string
                          description: (rce) The API access token you can create within RCE
                        baseApiUrl:
                          type: string
                          description: (rce) The API URL to your RCE installation
                        realtimeAccessToken:
                          type: string
                          description: >-
                            (rce) The access token for your rce source sdk
                            source
                        realtimeEndpointUrl:
                          type: string
                          description: (rce) The endpoint URL of your rce source sdk source
                        webhookSecret:
                          type: string
                          description: (rce) The secret used to secure webhooks in RCE
                        botCategoryId:
                          type: string
                          description: >-
                            (rce) The ID of the category you use as the 'bot
                            category' within RCE
                        agentCategoryId:
                          type: string
                          description: >-
                            (rce) The ID of the category you use as the 'bot
                            category' within RCE
                        organizationId:
                          type: string
                          description: (salesforce) Salesforce Organization ID
                        deploymentId:
                          type: string
                          description: (salesforce) Salesforce LiveAgent Deployment ID
                        buttonId:
                          type: string
                          description: (salesforce) Salesforce LiveAgent Chat Button ID
                    agentAssistSettings:
                      type: object
                      properties:
                        copilotType:
                          type: string
                          enum:
                            - none
                            - workspace
                            - whisper
                          description: Copilot Type
                        agentAssistFlowId:
                          type: string
                          description: Copilot flow ID
                        agentAssistConfigId:
                          type: string
                          description: Selected Copilot Config ReferenceId
                        enableTranscriptTile:
                          type: boolean
                          description: Enable the transcript tile
                        enableTranscriptTileChatInput:
                          type: boolean
                          description: Enable the chat input for transcript tile
                        redactTranscriptTileMessages:
                          type: boolean
                          description: Enable redaction of messages in transcript tile
                        enableAgentCopilotAuthentication:
                          type: boolean
                          description: Enable authentication for agent copilot
                        blockNonJWTRequests:
                          type: boolean
                          description: >-
                            Block requests made to the endpoint without a JWT
                            token
                        agentCopilotAuthentication:
                          type: string
                          description: >-
                            Authentication connection reference Id for agent
                            copilot
                        oAuth2Connection:
                          type: string
                          description: OAuth2 Connection for Genesys Cloud
                orgDataPrivacySettings:
                  description: >-
                    Organisation data privacy settings overwrite the ones
                    defined on endpoint-level
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: >-
                        Whether or not organisation data privacy settings are
                        enabled
                    useAnalytics:
                      type: boolean
                    storeDataPayload:
                      type: boolean
                    useContactProfiles:
                      type: boolean
                    useConversations:
                      type: boolean
                    maskIPAddress:
                      type: boolean
                    maskAnalytics:
                      type: boolean
                    maskLogging:
                      type: boolean
      responses:
        '200':
          description: The Endpoint was updated successfully.
        '400':
          description: >-
            The server cannot or will not process the request due to something
            that is perceived to be a client error (e.g., malformed request
            syntax, invalid request message framing, or deceptive request
            routing)
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Bad Request
                  title:
                    type: string
                    example: Bad Request Error
                  status:
                    type: number
                    example: 400
                  detail:
                    type: string
                    example: Validation failed. Missing payload.
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '401':
          description: >-
            The request has not been applied because it lacks valid
            authentication credentials for the target resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Unauthorized
                  title:
                    type: string
                    example: Unauthorized Error
                  status:
                    type: number
                    example: 401
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 401
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '402':
          description: Upgrade your Plan to increase your Quota.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Payment Required
                  title:
                    type: string
                    example: Payment Required Error
                  status:
                    type: number
                    example: 402
                  detail:
                    type: string
                    example: Validation failed. Missing payload.
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 402
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '403':
          description: The server understood the request but refuses to authorize it.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Forbidden
                  title:
                    type: string
                    example: Forbidden Error
                  status:
                    type: number
                    example: 403
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '404':
          description: >-
            The origin server did not find a current representation for the
            target resource or is not willing to disclose that one exists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Not Found
                  title:
                    type: string
                    example: Not Found Error
                  status:
                    type: number
                    example: 404
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
                  logLevel:
                    type: string
                    example: error
        '405':
          description: >-
            The method received in the request-line is known by the origin
            server but not supported by the target resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Method Not Allowed
                  title:
                    type: string
                    example: Method Not Allowed Error
                  status:
                    type: number
                    example: 405
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '409':
          description: The request conflicts with current state of the server.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Conflict
                  title:
                    type: string
                    example: Conflict Error
                  status:
                    type: number
                    example: 409
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1004
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '413':
          description: The request entity is larger than limits defined by server.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Payload Too Large
                  title:
                    type: string
                    example: Payload Too Large Error
                  status:
                    type: number
                    example: 413
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '500':
          description: >-
            The server encountered an unexpected condition that prevented it
            from fulfilling the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Internal Server Error
                  title:
                    type: string
                    example: Internal Server Error
                  status:
                    type: number
                    example: 500
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '501':
          description: >-
            The server does not support the functionality required to fulfill
            the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Not Implemented
                  title:
                    type: string
                    example: Not Implemented Error
                  status:
                    type: number
                    example: 501
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1009
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '502':
          description: >-
            The server, while acting as a gateway or proxy, received an invalid
            response from an inbound server it accessed while attempting to
            fulfill the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Bad Gateway
                  title:
                    type: string
                    example: Bad Gateway Error
                  status:
                    type: number
                    example: 502
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '503':
          description: The server is not ready to handle the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Service Unavailable
                  title:
                    type: string
                    example: Service Unavailable Error
                  status:
                    type: number
                    example: 503
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 503
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
        '504':
          description: >-
            The server, while acting as a gateway or proxy, did not receive a
            timely response from an upstream server it needed to access in order
            to complete the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: Gateway Timeout
                  title:
                    type: string
                    example: Gateway Timeout Error
                  status:
                    type: number
                    example: 504
                  detail:
                    type: string
                  instance:
                    type: string
                    example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
                  code:
                    type: string
                    example: 1000
                  traceId:
                    type: string
                    example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
                  details:
                    type: object
                    example: {}
      security:
        - APIKeyHeader: []
        - APIKeyQueryParam: []
        - CXoneTokenHeader: []
        - OAuth2: []
components:
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: Supply the API Key in the HTTP-Header
    APIKeyQueryParam:
      type: apiKey
      in: query
      name: api_key
      description: Supply the API Key in the Url-Query
    CXoneTokenHeader:
      type: apiKey
      in: header
      name: x-cxone-authorization
      description: >-
        Supply the CXone Token in the HTTP-Header containing the word "Bearer"
        followed by a space and a Token String. Applicable only in CXone
        integrated environments.
    OAuth2:
      type: oauth2
      flows:
        password:
          tokenUrl: /auth/oauth2/token
          refreshUrl: /auth/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: /auth/oauth2/authorize
          tokenUrl: /auth/oauth2/token
          scopes: {}
    BasicAuth:
      type: http
      scheme: basic
      description: Basic Authentication used by routes designed for the Management-UI.

````