Charthop ai-hint API

The ai-hint API from Charthop — 3 operation(s) for ai-hint.

OpenAPI Specification

charthop-ai-hint-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: REST API for ChartHop
  version: V1.0.0
  title: ChartHop access ai-hint API
  contact:
    name: ChartHop
    url: https://www.charthop.com
    email: support@charthop.com
host: localhost
schemes:
- https
- http
consumes:
- application/json
produces:
- application/json
tags:
- name: ai-hint
paths:
  /v1/ai-hint:
    get:
      tags:
      - ai-hint
      summary: Find hints
      operationId: findHints
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: from
        in: query
        description: Identifier to paginate from
        required: false
        type: string
      - name: limit
        in: query
        description: Number of results to return
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/ResultsAiHint'
        '401':
          description: not authorized
        '403':
          description: permission denied
    post:
      tags:
      - ai-hint
      summary: Create a hint
      operationId: createHint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: body
        in: body
        description: Hint data to create
        required: true
        schema:
          $ref: '#/definitions/CreateAiHint'
      responses:
        '201':
          description: successful operation
          schema:
            $ref: '#/definitions/AiHint'
        '400':
          description: invalid data
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/ai-hint/generate:
    get:
      tags:
      - ai-hint
      summary: Generate placeholder hint content for a given tool and entity type
      operationId: generateHint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: toolName
        in: query
        description: Tool name
        required: false
        type: string
      - name: entityType
        in: query
        description: Entity type
        required: false
        type: string
      responses:
        '200':
          description: successful operation
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/ai-hint/{id}:
    get:
      tags:
      - ai-hint
      summary: Get a hint
      operationId: getHint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: Hint identifier
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/AiHint'
        '401':
          description: not authorized
        '403':
          description: permission denied
        '404':
          description: not found
    patch:
      tags:
      - ai-hint
      summary: Update a hint
      operationId: updateHint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: Hint identifier
        required: true
        type: string
      - name: body
        in: body
        description: Fields to update
        required: true
        schema:
          $ref: '#/definitions/UpdateAiHint'
      responses:
        '204':
          description: successful operation
        '400':
          description: invalid data
        '401':
          description: not authorized
        '403':
          description: permission denied
        '404':
          description: not found
    delete:
      tags:
      - ai-hint
      summary: Delete a hint
      operationId: deleteHint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: Hint identifier
        required: true
        type: string
      responses:
        '204':
          description: successful operation
        '401':
          description: not authorized
        '403':
          description: permission denied
        '404':
          description: not found
definitions:
  AccessAction:
    type: object
    required:
    - action
    properties:
      action:
        type: string
      fields:
        type: array
        uniqueItems: true
        items:
          type: string
      types:
        type: array
        uniqueItems: true
        items:
          type: string
  ResultsAiHint:
    type: object
    required:
    - data
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/AiHint'
      next:
        type: string
      access:
        type: array
        items:
          $ref: '#/definitions/ResultsAccess'
  ResultsAccess:
    type: object
    required:
    - allowed
    properties:
      ids:
        type: array
        uniqueItems: true
        items:
          type: string
          example: 588f7ee98f138b19220041a7
      allowed:
        type: array
        uniqueItems: true
        items:
          $ref: '#/definitions/AccessAction'
  Attribution:
    type: object
    properties:
      principalUserId:
        type: string
        example: 588f7ee98f138b19220041a7
      agentUserIds:
        type: array
        items:
          type: string
          example: 588f7ee98f138b19220041a7
      eventId:
        type: string
        example: 588f7ee98f138b19220041a7
      aiChatId:
        type: string
        example: 588f7ee98f138b19220041a7
      aiToolUseId:
        type: string
      channel:
        type: string
        enum:
        - WEB
        - MOBILE
        - SLACK
        - TEAMS
        - MCP
  AiHint:
    type: object
    required:
    - id
    - name
    properties:
      id:
        type: string
        description: globally unique id
        example: 588f7ee98f138b19220041a7
      name:
        type: string
        description: unique name for this hint
      toolName:
        type: string
        description: tool name this hint applies to, e.g. Create, Update, Delete, DataExplorer
      entityType:
        type: string
        description: entity type this hint applies to, e.g. ACTION, FORM, REPORT
      keywords:
        type: array
        description: keywords that trigger this hint when matched in user messages
        items:
          type: string
      schema:
        type: string
        description: optional schema override; if null, auto-generated from the entity adapter's create class
      addHintIds:
        type: array
        description: additional hint ids to include when this hint is surfaced
        items:
          type: string
          example: 588f7ee98f138b19220041a7
      content:
        type: string
        description: the hint content to provide to the AI
      createId:
        type: string
        description: created by user id
        example: 588f7ee98f138b19220041a7
      createBehalfId:
        type: string
        description: created on behalf of user id
        example: 588f7ee98f138b19220041a7
      createAttribution:
        $ref: '#/definitions/Attribution'
      createAt:
        type: string
        description: created timestamp
        example: '2017-01-24T13:57:52Z'
      updateId:
        type: string
        description: last updated by user id
        example: 588f7ee98f138b19220041a7
      updateBehalfId:
        type: string
        description: last updated on behalf of user id
        example: 588f7ee98f138b19220041a7
      updateAttribution:
        $ref: '#/definitions/Attribution'
      updateAt:
        type: string
        description: last updated timestamp
        example: '2017-01-24T13:57:52Z'
      deleteId:
        type: string
        description: deleted by user id
        example: 588f7ee98f138b19220041a7
      deleteBehalfId:
        type: string
        description: deleted on behalf of user id
        example: 588f7ee98f138b19220041a7
      deleteAttribution:
        $ref: '#/definitions/Attribution'
      deleteAt:
        type: string
        description: deleted timestamp
        example: '2017-01-24T13:57:52Z'
  CreateAiHint:
    type: object
    required:
    - name
    - content
    properties:
      name:
        type: string
        description: unique name for this hint
      toolName:
        type: string
        description: tool name this hint applies to, e.g. Create, Update, Delete, DataExplorer
      entityType:
        type: string
        description: entity type this hint applies to, e.g. ACTION, FORM, REPORT
      keywords:
        type: array
        description: keywords that trigger this hint when matched in user messages
        items:
          type: string
      schema:
        type: string
        description: optional schema override; if null, auto-generated from the entity adapter's create class
      addHintIds:
        type: array
        description: additional hint ids to include when this hint is surfaced
        items:
          type: string
          example: 588f7ee98f138b19220041a7
      content:
        type: string
        description: the hint content to provide to the AI
  UpdateAiHint:
    type: object
    properties:
      name:
        type: string
        description: unique name for this hint
      toolName:
        type: string
        description: tool name this hint applies to, e.g. Create, Update, Delete, DataExplorer
      entityType:
        type: string
        description: entity type this hint applies to, e.g. ACTION, FORM, REPORT
      keywords:
        type: array
        description: keywords that trigger this hint when matched in user messages
        items:
          type: string
      schema:
        type: string
        description: optional schema override; if null, auto-generated from the entity adapter's create class
      addHintIds:
        type: array
        description: additional hint ids to include when this hint is surfaced
        items:
          type: string
          example: 588f7ee98f138b19220041a7
      content:
        type: string
        description: the hint content to provide to the AI