Netomi Zen Desk Chat Rest Controller API

The zen-desk-chat-rest-controller API from Netomi — 8 operation(s) for zen-desk-chat-rest-controller.

Operations 8

POST /v1/zendesk-chat/response #
POST /v1/zendesk-chat/publish-social #
POST /v1/zendesk-chat/poll #
GET /v1/zendesk-chat/re-activate #
GET /v1/zendesk-chat/de-activate #
GET /v1/zendesk-chat/check-status/{botRefId} #
GET /v1/zendesk-chat/check-status-all #
GET /v1/zendesk-chat/activate #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/netomi-zen-desk-chat-rest-controller-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

netomi-zen-desk-chat-rest-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AgentDesk REST Zen Desk Chat Rest Controller API
  description: AgentDesk Rest API
  termsOfService: Terms of service
  contact:
    name: Netomi Support Team
    url: https://netomi.com
    email: support@netomi.com
  version: '1.0'
servers:
- url: http://api.netomi.com
  description: Generated server url
tags:
- name: zen-desk-chat-rest-controller
paths:
  /v1/zendesk-chat/response:
    post:
      tags:
      - zen-desk-chat-rest-controller
      operationId: getStructuredResponse
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/publish-social:
    post:
      tags:
      - zen-desk-chat-rest-controller
      operationId: publishToSocialOutbound
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationResponse'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/poll:
    post:
      tags:
      - zen-desk-chat-rest-controller
      operationId: getResponse_1
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/re-activate:
    get:
      tags:
      - zen-desk-chat-rest-controller
      operationId: reActivate
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/de-activate:
    get:
      tags:
      - zen-desk-chat-rest-controller
      operationId: deActivate
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/check-status/{botRefId}:
    get:
      tags:
      - zen-desk-chat-rest-controller
      operationId: checkStatusAll
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      - name: botRefId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/check-status-all:
    get:
      tags:
      - zen-desk-chat-rest-controller
      operationId: checkStatusAll_1
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /v1/zendesk-chat/activate:
    get:
      tags:
      - zen-desk-chat-rest-controller
      operationId: activate
      parameters:
      - name: headers
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/HttpHeaders'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
components:
  schemas:
    ServiceResponse:
      type: object
      properties:
        statusCode:
          type: string
        statusMessage:
          type: string
        exceptionCode:
          type: string
          enum:
          - DATA_NOT_FOUND
          - INVALID_PAYMENT_MODE_ERROR
          - LINK_CANNOT_CREATED
          - OBJECT_DEEP_COPY_CLONE_FAILED_ERROR
          - API_EMPTY_PAYLOAD_ERROR
          - LANGUAGE_NOT_CONFIGURED
          - CLIENT_API_CREDENTIAL_MISSING_ERROR
          - CLIENT_API_CREDENTIAL_DOES_NOT_EXIST_ERROR
          - INVALID_PAYMENT_CARD_ERROR
          - INVALID_JOB_CLASS_NAME_ERROR
          - JOB_SCHEDULER_ERROR
          - DB_FETCH_ERROR
          - DB_INSERT_ERROR
          - DOWN_STREAM_SERVICE_ERROR
          - ILLEGAL_LINK_ID
          - DESERIALIZATION_FAILED_ERROR
          - SERIALIZATION_FAILED_ERROR
          - READING_FILE_FAILED_ERROR
          - INVALID_INPUT_ERROR
          - UN_SUPPORTED_OPERATION_ERROR
          - CONNECTION_TIME_OUT_ERROR
          - DRUID_QUERY_TIME_OUT_ERROR
          - AUTHENTICATION_FAILED_ERROR
          - AUTHORIZATION_FAILED_ERROR
          - HTTPS_SECURE_GATEWAY_ERROR
          - CONNECTION_REFUSED_ERROR
          - RESOURCE_NOT_FOUND_ERROR
          - ENCRYPTION_FAILED_ERROR
          - INPUT_DATA_CORRUPTED_ERROR
          - CONNECTION_RESET_ERROR
          - THROTTLE_ERROR
          - RATE_LIMIT_EXCEED_ERROR
          - UN_AUTHORISED_ERROR
          - CASSANDRA_DB_ERROR
          - MYSQL_DB_ERROR
          - KAFKA_BROKER_ERROR
          - DRUID_TRANQUILITY_SERVER_ERROR
          - INSTANTIATION_FAILED_ERROR
          - ILLEGAL_ACCESS_ERROR
          - DRUID_QUERY_BROKER_ERROR
          - UN_AUTHORISED_ACCESS
          - BAD_CREDENTIAL
          - ACCESS_TOKEN_EXPIRED
          - USER_DOES_NOT_EXIST
          - SIGN_UP_LINK_EXPIRED
          - RESET_PASSWORD_LINK_EXPIRED
          - USER_ACCOUNT_TEMPORARY_BLOCKED
          - LOGIN_SUCCESS
          - ILLEGAL_PERMISSION_ENTITY_ADDITION
          - NO_TWO_PERMISSION_ENITITY_EXCEPTION
          - ILLEGEAL_TOKEN_HEADER
          - NO_SECURITY_CONTEXT_HOLDER
          - UNAUTHORIZED_API_REQUEST
          - INVALID_ROLE
          - INSUFFICIENT_PERMISSION
          - MVEL_EXPRESSION_INVALID
          - MVEL_EXPRESSION_PROPERTY_MISSING
          - STANDARD_RESPONSE_EMPTY
          - TARGET_BUCKET_NOT_FOUND
          - TARGET_BUCKET_RESPONSE_NOT_FOUND
          - INSUFFICIENT_ATTRIBUTE
          - CONTEXT_RESPONSE_EMPTY
          - CONVERSATION_NULL
          - NULL_TOKEN_CREATED
          - USER_NOT_FOUND
          - WORKFLOW_NOT_FOUND
          - USER_NOT_ACTIVATED
          - INVALID_BOT_DETAILS
          - INVALID_CONF
          - INVALID_CONFIGURATION
          - COMPRESS_STRING_ERROR
          - DE_COMPRESS_STRING_ERROR
          - EXPERIMENT_NOT_FOUND
          - NO_LOCALE_CONFIGURED
          - ACCESS_LOCKED
          - ATTEMPTS_EXCEEDED
          - MESSAGE_SWALLOWED
          - INTERNAL_SERVER_ERROR
          - FACEBOOK_API_EXCEPTION
          - ALREADY_EXISTS_ENTITY_EXCEPTION
          - CLUSTERING_FILE_REJECTED_EXCEPTION
          - CLUSTERING_DATA_INSERTION_INTO_DB_EXCEPTION
          - DATA_SCIENCE_CLUSTERING_FAILED_EXCEPTION
          - CLUSTERING_UTTERANCE_DATA_INSERTION_FAILED_EXCEPTION
          - CLUSTERING_UTTERANCE_INFO_INSERTION_FAILED_EXCEPTION
          - EXISTING_CLUSTERS_DELETION_EXCEPTION
          - REQUEST_PAYLOAD_MAX_SIZE_EXCEED_ERROR
          - GO_LIVE_PRECONDITION_FAILED
          - DEFAULT_TEMPLATE_DOES_NOT_EXIST_EXCEPTION
          - SUB_WORKFLOW_DELETE_PRECONDITION_FAILED
          - INTENT_IN_USE
          - DECRYPTION_EXCEPTION
          - ENCRYPTION_EXCEPTION
          - CONNECTION_FAILED
          - DELETE_FAILED
          - GOOGLE_TRANSLATION_API_EXCEPTION
          - AWS_LAMBDA_API_EXCEPTION
          - TRANSLATION_FAILED
          - INVALID_ORCHESTRATOR_STATE_REACHED
          - MCP_ERROR
          - MCP_VALIDATION_ERROR
          - MCP_SERVER_NOT_FOUND
          - MAX_MANIFEST_LIMIT_REACHED
          - MANIFEST_DELETE_VALIDATION_FAILED
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BaseError'
        taskStatus:
          type: array
          items: {}
        payload: {}
    GoogleAssistantText:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          voiceText:
            type: string
          displayText:
            type: string
    GenericAttachment:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          payloadType:
            type: string
          payloadValue:
            type: string
    PassengerInfo:
      type: object
      properties:
        name:
          type: string
        ticketNumber:
          type: string
        passengerId:
          type: string
    GoogleAssistantSuggestionChip:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          chipDisplayResponse:
            type: string
          chipVoiceResponse:
            type: string
          chips:
            type: array
            items:
              type: string
    Attribute:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        value:
          type: string
        scope:
          type: string
          enum:
          - SESSION
          - LIFE_TIME
          - INTENT
          - DAILY_TIMER
          - WEEKLY_TIMER
          - MONTHLY_TIMER
          - YEARLY_TIMER
          - TIME_BASED
          - RESPONSE_MERGE
          - CONDITION_VALIDATION
          - BOTH
          - DEFAULT
          - DEFAULT_RESPONSE
          - NODE
          - MESSAGE
    PostbackReferral:
      type: object
      properties:
        ref:
          type: string
        source:
          type: string
        type:
          type: string
    NBAAttachment:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          nbaObjects:
            type: array
            items:
              $ref: '#/components/schemas/NBAServiceObject'
    Location:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          latitude:
            type: string
          longitude:
            type: string
    ConversationContextHistory:
      type: object
      properties:
        actor:
          type: string
        content:
          type: string
        rephrasedQuery:
          type: string
        responseSubType:
          type: string
        responseType:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        intent:
          type: string
        icInfo:
          type: object
          additionalProperties: {}
        agenticInfo:
          type: object
          additionalProperties: {}
        toolsInvoked:
          type: array
          items: {}
        gaiModeration:
          $ref: '#/components/schemas/GenAiModerationInfo'
        fillers:
          type: array
          items:
            $ref: '#/components/schemas/FillerInfo'
    ConversationResponse:
      type: object
      properties:
        propertyMap:
          type: object
          additionalProperties:
            type: string
        requestId:
          type: string
        botMetaInfo:
          $ref: '#/components/schemas/BotMetaInfo'
        visitor:
          $ref: '#/components/schemas/Visitor'
        locale:
          type: string
        channelId:
          type: string
        caseId:
          type: string
        session:
          $ref: '#/components/schemas/Session'
        conversationEnvironment:
          type: string
          enum:
          - DEV
          - QA
          - UAT
          - PROD
          - STAGING
          - SANDBOX
          - LIVE
          - SGUAT
        channelType:
          type: string
          enum:
          - EMAIL
          - CHAT
          - VOICE
          - POST
          - DEFAULT
          - NLU_API
        messageType:
          type: string
        abstractChannelMetaInfo:
          oneOf:
          - $ref: '#/components/schemas/AgentDeskChannelMetaInfo'
        serviceLatencyMetrics:
          $ref: '#/components/schemas/ServiceLatencyLog'
        time:
          type: string
        intentId:
          type: string
        intent:
          type: string
        originalMessage:
          type: string
        skill:
          type: string
        skillId:
          type: string
        socialChannel:
          type: string
        requestTime:
          type: integer
          format: int64
        displayName:
          type: string
        linkId:
          type: string
        status:
          type: string
        sendStatus:
          type: string
        reviewModeResponse:
          type: string
        tagIds:
          type: array
          items:
            type: integer
            format: int64
        candidates:
          type: array
          items:
            $ref: '#/components/schemas/Intent'
        responses:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        allRecognizedAttributes:
          type: array
          items:
            $ref: '#/components/schemas/ContextualAttributeServiceObject'
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/CustomResponseField'
        customPayload:
          type: object
          additionalProperties: {}
        agentInfo:
          $ref: '#/components/schemas/AgentInfo'
        requestMessageId:
          type: string
        ownerType:
          type: string
        conversationId:
          type: string
        triggerType:
          type: string
        responseStatus:
          type: string
        testResponse:
          type: boolean
        responseAnalyserResponse:
          type: boolean
        type:
          type: string
          enum:
          - CONVERSATION_REQUEST
          - CONVERSATION_RESPONSE
          - ERROR
          - AUDIT_ERROR
          - CONVERSATION_STATE
          - INTEGRATION_REQUEST
          - INTEGRATION_RESPONSE
          - CONVERSATION
          - ASSET_TRACKING
          - CLIENT_REQUEST
          - HUMAN_HANDOFF_RESPONSE
          - HUMAN_HANDOFF_REQUEST
    FlightAirport:
      type: object
      properties:
        airportCode:
          type: string
        city:
          type: string
        terminal:
          type: string
        gate:
          type: string
    NLUEntity:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        values:
          type: array
          items:
            $ref: '#/components/schemas/NLUEntityValue'
    AbstractPostback:
      type: object
      discriminator:
        propertyName: type
      properties:
        payload:
          type: string
        type:
          type: string
      required:
      - type
    CustomResponseField:
      type: object
      properties:
        id:
          type: integer
          format: int64
        botId:
          type: string
        name:
          type: string
        type:
          type: string
        values:
          type: array
          items:
            type: string
        customId:
          type: integer
          format: int64
        rule:
          type: string
        customFieldId:
          type: string
        customFieldValueType:
          type: string
        valueHtml:
          type: string
        active:
          type: boolean
    ContentDisposition:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        filename:
          type: string
        charset:
          type: string
        formData:
          type: boolean
        attachment:
          type: boolean
        inline:
          type: boolean
    SemanticMessage:
      type: object
      properties:
        language:
          type: string
          enum:
          - ENGLISH
          - FRENCH
          - ITALIAN
        enrichedMessage:
          type: string
        tone:
          type: string
          enum:
          - ANGRY
          - HAPPY
          - POLITE
          - SAD
          - DELIGHTFUL
        sentiment:
          type: string
          enum:
          - POSITIVE
          - NEGATIVE
          - NEUTRAL
        metaIntent:
          $ref: '#/components/schemas/MetaIntent'
        intents:
          type: array
          items:
            $ref: '#/components/schemas/Intent'
        keywords:
          type: array
          items:
            type: string
          uniqueItems: true
        isUtteranceAnAnswer:
          type: boolean
        entityConfusion:
          type: boolean
        entityConfusionType:
          type: string
          enum:
          - INTER
          - INTRA
          - NONE
        maskedUtterance:
          type: string
        nluInfo: {}
        entities:
          type: array
          items:
            $ref: '#/components/schemas/ContextualAttributeServiceObject'
        conversationContextHistory:
          type: array
          items:
            $ref: '#/components/schemas/ConversationContextHistory'
    MultiSource:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          multipleSourceDetails:
            type: array
            items:
              $ref: '#/components/schemas/SourceDetails'
    PromptValue:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        synonyms:
          type: array
          items:
            type: string
    MediaType:
      type: object
      properties:
        type:
          type: string
        subtype:
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        qualityValue:
          type: number
          format: double
        wildcardType:
          type: boolean
        wildcardSubtype:
          type: boolean
        subtypeSuffix:
          type: string
        concrete:
          type: boolean
        charset:
          type: string
    Summary:
      type: object
      properties:
        subtotal:
          type: number
          format: double
        shipping_cost:
          type: number
          format: double
        total_tax:
          type: number
          format: double
        total_cost:
          type: number
          format: double
    ProductInfo:
      type: object
      properties:
        title:
          type: string
        value:
          type: string
    PostbackButton:
      allOf:
      - $ref: '#/components/schemas/AbstractPostback'
      - type: object
        properties:
          title:
            type: string
    Image:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          largeImageUrl:
            type: string
          thumbnail:
            type: string
    FillerText:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          id:
            type: string
          isVariationsEnabled:
            type: boolean
          variations:
            type: array
            items:
              $ref: '#/components/schemas/Variation'
    Adjustment:
      type: object
      properties:
        name:
          type: string
        amount:
          type: number
          format: double
    GroupItem:
      type: object
      properties:
        header:
          type: string
        title:
          type: string
        subTitle:
          type: string
        description:
          type: string
        value:
          type: string
    GoogleAssistantMicAttachment:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          micStatus:
            type: string
    Message:
      type: object
      properties:
        originalMessage:
          type: string
        maskedOriginalMessage:
          type: string
        visitorMessageType:
          type: string
          enum:
          - TEXT
          - LOCATION
          - IMAGE
          - VIDEO
          - GIF
          - EMOTICON
          - CALL
          - AUDIO
          - POST_BACK
          - TYPING_ON
          - REFERRAL
          - FACEBOOK_HANDOVER
          - ZENDESK_CHAT_HANDOVER
          - SUNSHINE_CONVERSATIONS_HANDOVER
          - KHOROS_HANDOVER
          - EMAIL
          - SMS
          - OTHERS
          - OPTIN
          - HANDOVER
          - GLADLY_HANDOVER
          - ATTRIBUTE_UPDATE
          - ONE_TIME_NOTIFICATION
        callbackUrl:
          type: string
        messageId:
          type: string
        type:
          type: string
          enum:
          - VISITOR
          - BOT
          - INTERNAL_AGENT
          - THIRD_PARTY_AGENT
          - INTERNAL_EVENT
          - AD_EVENT
          - ASSET_EVENT
        timestamp:
          type: integer
          format: int64
        postBack:
          oneOf:
          - $ref: '#/components/schemas/PostbackButton'
          - $ref: '#/components/schemas/PostbackItem'
        referral:
          $ref: '#/components/schemas/PostbackReferral'
        attachments:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/AgentDeskForm'
            - $ref: '#/components/schemas/AgentDeskResponse'
            - $ref: '#/components/schemas/AirlineBoardingPassTemplatePayload'
            - $ref: '#/components/schemas/AirlineCheckinTemplatePayload'
            - $ref: '#/components/schemas/AirlineItineraryTemplatePayload'
            - $ref: '#/components/schemas/AirlineUpdateTemplatePayload'
            - $ref: '#/components/schemas/Audio'
            - $ref: '#/components/schemas/Card'
            - $ref: '#/components/schemas/Carousel'
            - $ref: '#/components/schemas/Email'
            - $ref: '#/components/schemas/EmailTemplate'
            - $ref: '#/components/schemas/EventTemplatePayload'
            - $ref: '#/components/schemas/FillerText'
            - $ref: '#/components/schemas/GenericAttachment'
            - $ref: '#/components/schemas/GenericFileAttachment'
            - $ref: '#/components/schemas/GoogleAssistantBasicCard'
            - $ref: '#/components/schemas/GoogleAssistantMicAttachment'
            - $ref: '#/components/schemas/GoogleAssistantSuggestionChip'
            - $ref: '#/components/schemas/GoogleAssistantText'
            - $ref: '#/components/schemas/GroupList'
            - $ref: '#/components/schemas/Image'
            - $ref: '#/components/schemas/ImageCard'
            - $ref: '#/components/schemas/ListTemplate'
            - $ref: '#/components/schemas/Location'
            - $ref: '#/components/schemas/MessageInfoAttachment'
            - $ref: '#/components/schemas/MultiSource'
            - $ref: '#/components/schemas/NBAAttachment'
            - $ref: '#/components/schemas/NLUCard'
            - $ref: '#/components/schemas/OneTimeNotificationRequest'
            - $ref: '#/components/schemas/Receipt'
            - $ref: '#/components/schemas/Text'
            - $ref: '#/components/schemas/Video'
        semanticMessages:
          type: array
          items:
            $ref: '#/components/schemas/SemanticMessage'
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        error:
          $ref: '#/components/schemas/Error'
        handoffControlType:
          type: string
          enum:
          - IMPLICIT
          - EXPLICIT
    ServiceLatencyLog:
      type: object
      properties:
        date_format:
          type: string
        currentMetric:
          $ref: '#/components/schemas/ServiceLatencyMetric'
        serviceLatencyMetricSet:
          type: array
          items:
            $ref: '#/components/schemas/ServiceLatencyMetric'
          uniqueItems: true
        init_STAGE:
          type: string
        currentStageMetric:
          $ref: '#/components/schemas/ServiceLatencyMetric'
    ServiceLatencyMetric:
      type: object
      properties:
        metricName:
          type: string
        startTime:
          type: integer
          format: int64
        latency:
          type: integer
          format: int64
        prevLatency:
          type: integer
          format: int64
    AgentInfo:
      type: object
      properties:
        agentId:
          type: string
        avatar:
          type: string
        displayName:
          type: string
        agentUserSessionId:
          type: string
    Email:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          from:
            type: string
          replyTo:
            type: string
          to:
            type: array
            items:
              type: string
          cc:
            type: array
            items:
              type: string
          sentDate:
            type: string
            format: date-time
          subject:
            type: string
          body:
            type: string
          attachmentUrls:
            type: array
            items:
              type: string
          htmlBody:
            type: string
          threadId:
            type: string
          emailThread:
            $ref: '#/components/schemas/Email'
          eventType:
            type: string
          ticketOwnerType:
            type: string
          status:
            type: string
          sendStatus:
            type: string
          caseCategory:
            type: string
          user:
            $ref: '#/components/schemas/User'
          payload:
            type: object
            additionalProperties:
              type: string
          bcc:
            type: array
            items:
              type: string
          maskedHtml:
            type: string
    OneTimeNotificationRequest:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          payload:
            type: string
    PriceInfo:
      type: object
      properties:
        title:
          type: string
        amount:
          type: number
          format: double
        currency:
          type: string
    HttpMethod: {}
    Error:
      type: object
      properties:
        status:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
        type:
          type: string
          enum:
          - CONVERSATION_REQUEST
          - CONVERSATION_RESPONSE
          - ERROR
          - AUDIT_ERROR
          - CONVERSATION_STATE
          - INTEGRATION_REQUEST
          - INTEGRATION_RESPONSE
          - CONVERSATION
          - ASSET_TRACKING
          - CLIENT_REQUEST
          - HUMAN_HANDOFF_RESPONSE
          - HUMAN_HANDOFF_REQUEST
    AirlineItineraryTemplatePayload:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          introMessage:
            type: string
          locale:
            type: string
          themeColor:
            type: string
          pnrNumber:
            type: string
          passengerInfoList:
            type: array
            items:
              $ref: '#/components/schemas/PassengerInfo'
          flightInfoList:
            type: array
            items:
              $ref: '#/components/schemas/FlightInfo'
          passengerSegmentInfoList:
            type: array
            items:
              $ref: '#/components/schemas/PassengerSegmentInfo'
          priceInfoList:
            type: array
            items:
              $ref: '#/components/schemas/PriceInfo'
          basePrice:
            type: number
            format: double
          tax:
            type: number
            format: double
          totalPrice:
            type: number
            format: double
          currency:
            type: string
    MetaEntity:
      type: object
      properties:
        name:
          type: string
        confidence:
          type: number
          format: double
    PassengerSegmentInfo:
      type: object
      properties:
        segmentId:
          type: string
        passengerId:
          type: string
        seat:
          type: string
        seatType:
          type: string
        productInfoList:
          type: array
          items:
            $ref: '#/components/schemas/ProductInfo'
    Carousel:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          elements:
            type: array
            items:
              $ref: '#/components/schemas/GenericElement'
          carouselImageAspectRatio:
            type: string
            enum:
            - SQUARE
            - HORIZONTAL
    NLUIntent:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        confidence:
          type: number
          format: double
    HttpRange: {}
    AbstractChannelMetaInfo:
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
      required:
      - type
    Video:
      allOf:
      - $ref: '#/components/schemas/Attachment'
      - type: object
        properties:
          thumbnailUrl:
            type: string
          thumbnail:
            type: string
    Visitor:
      type: object
      properties:
        externalId:
          type: string
        token:
          type: string
        conversationId:
          type: string
        mobileNumber:
          type: string
        emailId:
          type: string
        name:
          type: string
        gender:
          type: string
          enum:
          - MALE
          - FEMALE
          - UNKNOWN
          - BOT
        channel:
          type: string
          enum:
          - MESSENGER
          - SUNSHINE_CONVERSATIONS_LINE
          - EMAIL
          - TWITTER
          - REST
          - LINE
          - WHATS_APP
          - AGENTDESK
          - FRESHDESK
          - ZENDESK
          - SALESFORCE
          - WEB_PLUGIN
          - PUB_SUB
          - ANDROID
          - IOS
          - WINDOWS
          - LITHIUM
          - ALEXA
          - GOOGLE_ASSISTANT
          - ZENDESK_CHAT
          - FACEBOOK_POST
          - SPRINKLR_FACEBOOK
          - SPRINKLR_WHATSAPP_BUSINESS
          - KHOROS_FB_POST
          - KHOROS_TWITTER_POST
          - KHOROS_TWITTER_CHAT
          - KHOROS_FACEBOOK_CHAT
          - PUBNUB
          - ZOHO_DESK
          - NETOMI_WEB_WIDGET
          - DEFAULT_CHANNEL
          - NLU_API
          - HELPSHIFT
          - GLADLY_EMAIL
          - GLADLY_WEB_CHAT
          - CHAT_API
          - EMAIL_API
          - CHAT_CHANNEL
          - EMAIL_CHANNEL
          - VOICE_CHANNEL
          - NETOMI_VOICE
        location:
          type: string
        type:
          type: string
          enum:
          - EXTERNAL
          - INTERNAL
          - TEST
        conversationMode:
          type: string
          enum:
          - BLOCKED_TEMPORARY
          - BLOCKED_PERMANENTLY
          - ACTIVE_HUMAN_ASSISTANCE
          - ACTIVE_BOT
        profilePictureUrl:
          type: string
        botReferenceId:
          type: string
        botId:
          type: string
        actor:
          type: string
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        authorId:
          type: string
    FlightInfo:
      type: object
      properties:
        connectionId:
          type: string
        segmentId:
          type: string
        flightNumber:
          type: string
        aircraftType:
          type: string
        departureAirport:

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/netomi/refs/heads/main/openapi/netomi-zen-desk-chat-rest-controller-api-openapi.yml