ASAPP Platform API (combined)

Combined ASAPP API surface (AutoCompose, Conversations, configuration, and more) as one OpenAPI document.

OpenAPI Specification

asapp-openapi-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: AutoCompose API
  description: >
    Autocompose API to suggest the next agent message.

    Suggestions are based on the conversation history, conversation metadata,
    and

    the in-progress message text the agent has already typed into the composer.
  version: 0.0.3
servers:
  - url: https://api.sandbox.asapp.com
  - url: https://api.test.asapp.com
tags:
  - name: AutoCompose
    description: Improve agent productivity with AutoCompose API
    x-displayName: AutoCompose
  - name: AutoSummary
    description: Endpoints for summarizing conversations and retrieving structured data
    x-displayName: AutoSummary
  - name: AutoTranscribe
    description: Get streaming URL to transcribe audio
    x-displayName: AutoTranscribe
  - name: Conversations
    description: Operations to send conversational inputs to ASAPP AI services
    x-displayName: Conversations
  - name: File Exporter
    description: API to get client exports
    x-displayName: File Exporter
  - name: GenerativeAgent
    description: >-
      Operations to send messages and trigger GenerativeAgent to respond or
      query the current state
    x-displayName: GenerativeAgent
  - name: Health Check
    description: Operations to ensure that ASAPP APIs are up and running.
    x-displayName: Health Check
  - name: Knowledge Base
    description: >-
      Operations to submit and retrieve Articles to the GenerativeAgent
      Knowledge Base.
    x-displayName: Knowledge Base
  - name: Metadata
    description: API to submit entity's attributes to ASAPP
    x-displayName: Metadata
  - name: AutoTranscribe Media Gateway
    description: >-
      Operations for controlling AutoTranscribe Media Gateway transcription and
      streaming
    x-displayName: AutoTranscribe Media Gateway
paths:
  /autocompose/v1/conversations/{conversationId}/suggestions:
    parameters:
      - $ref: '#/components/parameters/conversationId'
    post:
      tags:
        - AutoCompose
      operationId: getSuggestions
      summary: Generate suggestions
      description: >
        Get suggestions for the next agent message in the conversation. 


        There are several times when this should be called:

        - when an agent joins the conversation,

        - after a message is sent by either the customer or the agent,

        - and as the agent is typing in the composer (to enable completing the
        agent's in-progress message).


        Optionally, add a message to the conversation.
      requestBody:
        description: The parameters for getting suggestions for the next agent message.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuggestionsRequest'
      responses:
        '200':
          description: Successfully fetched suggestions for the conversation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Suggestions'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/profanity/evaluation:
    post:
      tags:
        - AutoCompose
      operationId: getEvaluation
      summary: Evaluate profanity
      description: >
        Get an evaluation of a text to verify if it contains profanity,
        obscenity or other unwanted words. This service should be called before
        sending a message to prevent the agent from sending profanities in the
        chat.
      requestBody:
        description: >-
          The parameters for getting a evaluation result of the text typed by
          the user.
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  description: text to be checked for profanity
                  type: string
              example:
                text: This is a perfectly decent sentence.
      responses:
        '200':
          description: Successfully fetched a evaluation result of the sentence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfanityResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/spellcheck/correction:
    post:
      tags:
        - AutoCompose
      operationId: getSpellingCorrection
      summary: Check for spelling mistakes
      description: >
        Get spelling correction for a message as it is being typed, if there is
        a misspelling. Only the current word

        will be corrected, once it's fully typed (so it is recommended to call
        this endpoint after space characters).
      requestBody:
        description: >-
          The parameters for getting a spelling correction as a message is being
          typed.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpellcheckQuery'
      responses:
        '200':
          description: Successfully checked for a spelling mistake.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpellcheckCorrection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/analytics/message-sent:
    post:
      tags:
        - AutoCompose
      operationId: createMessageSentEvent
      summary: Create a MessageSent analytics event
      description: >
        Create a MessageSent analytics event describing the agent's usage of
        AutoCompose augmentation features

        while composing a message
      requestBody:
        description: The parameters for creating a MessageSent event
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageSentEvent'
      responses:
        '200':
          description: Successfully created a MessageSent event
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/conversations/{conversationId}/message-analytic-events:
    parameters:
      - $ref: '#/components/parameters/conversationId'
    post:
      tags:
        - AutoCompose
      operationId: createMessageAnalyticEvent
      summary: Create a message analytic event
      description: >
        To improve the performance of ASAPP suggestions, provide information
        about the actions performed by the agent while composing a message by
        creating `message-analytic-events`.


        These analytic events indicate which AutoCompose functionality was used
        or not. This information along with the conversation itself is used to
        optimize our models, resulting in better results for the agents.


        We track the following types of message analytic events:

        - suggestion-1-inserted: The agent selected the first of the
        `suggestions` from a `Suggestion` API response.

        - suggestion-2-inserted: The agent selected the second of the
        `suggestions` from a `Suggestion` API response.

        - suggestion-3-inserted: The agent selected the third of the
        `suggestions` from a `Suggestion` API response.

        - phrase-completion-accepted: The agent selected the `phraseCompletion`
        from a `Suggestion` API response.

        - spellcheck-applied: A correction provided in a `SpellcheckCorrection`
        API response was applied automatically.

        - spellcheck-undone: A correction provided in a `SpellcheckCorrection`
        API response was undone by clicking the undo button.

        - custom-response-drawer-inserted: The agent inserted one of their
        custom responses from the custom response drawer.

        - custom-panel-inserted: The agent inserted a response from their custom
        response list in the custom response panel.

        - global-panel-inserted: The agent inserted a response from the global
        response list in the global response panel.


        Some of the event types have a corresponding event object to provide
        details.
      requestBody:
        description: The parameters for reporting the analytic event
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageAnalyticEvent'
            examples:
              Create a suggestion-inserted event.:
                value:
                  type: suggestion-1-inserted
                  suggestionsId: 4d2fd982640c311394008259594399a1
              Create a spellcheck-applied event.:
                value:
                  type: spellcheck-applied
                  suggestionsId: 4d2fd982640c311394008259594399a1
                  spellcheckApplied:
                    correctionId: 75bc8912c66842594375bc8912c66842
              Create a spellcheck-undone event.:
                value:
                  type: spellcheck-undone
                  suggestionsId: 4d2fd982640c311394008259594399a1
                  spellcheckUndone:
                    correctionId: 75bc8912c66842594375bc8912c66842
              Create a custom-response-drawer-inserted event.:
                value:
                  type: custom-response-drawer-inserted
                  suggestionsId: 4d2fd982640c311394008259594399a1
                  customResponseDrawerInserted:
                    query: Hi
                    text: Hi, I'm Alice. How can I help you today?
              Create a custom-panel-inserted event.:
                value:
                  type: custom-panel-inserted
                  suggestionsId: 4d2fd982640c311394008259594399a1
                  customPanelInserted:
                    text: Hi, I'm Alice. How can I help you today?
              Create a global-panel-inserted event.:
                value:
                  type: global-panel-inserted
                  suggestionsId: 4d2fd982640c311394008259594399a1
                  globalPanelInserted:
                    text: How can I help you today?
      responses:
        '200':
          description: Successfully reported selected suggestion
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/settings:
    parameters:
      - $ref: '#/components/parameters/agentId'
    get:
      tags:
        - AutoCompose
      operationId: getSettings
      summary: Get settings for AutoCompose clients
      description: >
        Get settings for AutoCompose clients, such as whether any features
        should not be used.

        It may be desirable to disable some features in high-latency scenarios.
      responses:
        '200':
          description: Settings for AutoCompose clients
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Settings'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/globals:
    get:
      tags:
        - AutoCompose
      summary: List the global responses
      description: >-
        Get the global responses and folder organization for a company.
        Responses are sorted by text, and folders are sorted by name.
      operationId: getGlobalResponses
      parameters:
        - in: query
          name: folderId
          schema:
            type: string
          required: false
          description: >-
            Optional identifier for the ID of the folder containing responses to
            be retrieved. If this is omitted, all global responses are
            returned.  Data format is expected to be UUID. The special value
            '__root' can also be used to retrieve top level folders/responses.
        - in: query
          name: resourceType
          schema:
            type: string
            enum:
              - folders
              - responses
              - all
            default: all
          required: false
          description: >-
            Optional identifier for the ID of the type of responses to be
            retrieved. A value of 'folders' will return only folder information
            describing the way responses are organized. A value of 'responses'
            will return only responses. A value of 'all' will return a mix of
            folders and responses. Note that if the folderId parameter is
            specified as well, only the resource type identified here that
            exists within the specified folder will be returned. If this is
            omitted, all resources are returned.
        - in: query
          name: searchTerm
          schema:
            type: string
          required: false
          description: >-
            Search term to search for global responses. This will search for
            matching folder names, response text or both, depending on the
            resourceType parameter value.
          example: greetings
        - in: query
          name: pageToken
          description: >-
            This service responds with a set of global responses. These are
            divided into pages, with maxPerPage items in each page. This
            parameter is the page token returned in the call prior to this one.
            If this is the first call being made, this field should be omitted.
            The server will respond with global responses following the one
            previously sent.
          required: false
          schema:
            type: string
          example: '3'
        - in: query
          name: maxPerPage
          description: >-
            The maximum number of custom responses the client can handle within
            one page
          required: false
          schema:
            type: integer
            default: 1000
      responses:
        '200':
          description: The global responses for this company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalResponsesWithVersion'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/customs:
    parameters:
      - $ref: '#/components/parameters/agentId'
    get:
      tags:
        - AutoCompose
      summary: Get custom responses
      description: >-
        Get custom responses for an agent. Responses are sorted by title, and
        folders are sorted by name.
      operationId: getCustomResponseCollection
      parameters:
        - in: query
          name: folderId
          schema:
            type: string
          required: false
          description: >-
            Optional identifier for the ID of the folder containing responses to
            be retrieved. If this is omitted, all custom responses are
            returned.  Data format is expected to be UUID. The special value
            '__root' can also be used to retrieve top level folders/responses.
        - in: query
          name: resourceType
          schema:
            type: string
            enum:
              - folders
              - responses
              - all
            default: all
          required: false
          description: >-
            Optional identifier for the ID of the type of responses to be
            retrieved. A value of 'folders' will return only folder information
            describing the way responses are organized. A value of 'responses'
            will return only responses. A value of 'all' will return a mix of
            folders and responses. Note that if the folderId parameter is
            specified as well, only the resource type identified here that
            exists within the specified folder will be returned. If this is
            omitted, all resources are returned.
        - in: query
          name: searchTerm
          schema:
            type: string
          required: false
          description: >-
            Search term to search for custom responses. This will search for
            matching folder names, response text or both, depending on the
            resourceType parameter value.
          example: greetings
        - in: query
          name: pageToken
          description: >-
            This service responds with a set of custom responses. These are
            divided into pages, with maxPerPage items in each page. This
            parameter is the page token returned in the call prior to this one.
            If this is the first call being made, this field should be omitted.
            The server will respond with custom responses following the one
            previously sent.
          required: false
          schema:
            type: string
          example: '3'
        - in: query
          name: maxPerPage
          description: >-
            The maximum number of custom responses the client can handle within
            one page
          required: false
          schema:
            type: integer
            default: 1000
      responses:
        '200':
          description: >-
            A collection of custom response lists for this customer, sorted by
            agent ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Responses'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/customs/folder:
    parameters:
      - $ref: '#/components/parameters/agentId'
    post:
      tags:
        - AutoCompose
      summary: Create a response folder
      description: Add a single folder for an agent
      operationId: addCustomResponseFolder
      requestBody:
        description: The folder to be added
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Folder'
        required: true
      responses:
        '200':
          description: Acknowledgement that the folder was successfully added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/customs/response:
    parameters:
      - $ref: '#/components/parameters/agentId'
    post:
      tags:
        - AutoCompose
      summary: Create a custom response
      description: Add a single custom response for an agent
      operationId: addCustomResponse
      requestBody:
        description: The custom response to be added
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCustomResponse'
        required: true
      responses:
        '200':
          description: Acknowledgement that the response was successfully added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/customs/response/{responseId}:
    parameters:
      - $ref: '#/components/parameters/agentId'
      - $ref: '#/components/parameters/responseId'
    put:
      tags:
        - AutoCompose
      summary: Update a custom response
      description: Update a specific custom response for an agent
      operationId: updateCustomResponse
      requestBody:
        description: The custom response to be updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCustomResponse'
        required: true
      responses:
        '200':
          description: Acknowledgement that the custom response was successfully updated
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
    delete:
      tags:
        - AutoCompose
      summary: Delete a custom response
      description: Delete a specific custom response for an agent
      operationId: deleteCustomResponse
      responses:
        '200':
          description: Acknowledgement that the custom response was successfully deleted
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/responses/customs/folder/{folderId}:
    parameters:
      - $ref: '#/components/parameters/agentId'
      - $ref: '#/components/parameters/folderId'
    put:
      tags:
        - AutoCompose
      summary: Update a response folder
      description: Update a folder for an agent
      operationId: updateFolder
      requestBody:
        description: The folder to be updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Folder'
        required: true
      responses:
        '200':
          description: Acknowledgement that the folder was successfully updated
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
    delete:
      tags:
        - AutoCompose
      summary: Delete a response folder
      description: Delete a folder for an agent
      operationId: deleteFolder
      responses:
        '200':
          description: Acknowledgement that the custom response was successfully deleted
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
  /autocompose/v1/autopilot/greetings:
    parameters:
      - $ref: '#/components/parameters/agentId'
    get:
      tags:
        - AutoCompose
      summary: Get autopilot greetings
      description: Get autopilot greetings for an agent
      operationId: getAutopilotGreetings
      responses:
        '200':
          description: The autopilot greetings for this agent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutopilotGreeting'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '413':
          $ref: '#/components/responses/RequestEntityTooLarge'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - API-ID: []
          API-Secret: []
    put:
      tags:
        - AutoCompose
      summary: Update autopilot greetings
      description: Update autopilot greetings for an agent
      operationId: updateAutopilotGreetings
      requestBody:
        description: The updated autopilot greetings
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutopilotGreeting'
        required: true
      responses:
        '200':
          description: Acknowledgement that the greetings were success

# --- truncated at 32 KB (206 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asapp/refs/heads/main/openapi/asapp-openapi-openapi.yml