Grepr Chats API

The Chats API from Grepr — 9 operation(s) for chats.

Operations 13

GET /v1/chat-preferences Get the caller's chat preferences #
PUT /v1/chat-preferences Set the caller's chat preferences #
GET /v1/chats List the user's chats #
POST /v1/chats Create a chat #
DELETE /v1/chats/{chatId} Delete a chat #
GET /v1/chats/{chatId} Get chat metadata #
PUT /v1/chats/{chatId} Append a message to a chat #
PUT /v1/chats/{chatId}/auto-approve Switch a chat's auto-approval mode #
POST /v1/chats/{chatId}/cancel Cancel a chat #
POST /v1/chats/{chatId}/permissions/{permissionId} Reply to a chat's pending approval #
POST /v1/chats/{chatId}/stop Stop a chat's in-flight turn #
PUT /v1/chats/{chatId}/title Rename a chat #
GET /v1/chats/{chatId}/turns Stream a chat's turns by sequence cursor #

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/grepr:grepr-chats-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

grepr-chats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Grepr Chats API
  version: 1.0.0
  description: 'Operations tagged Chats across 2 of this provider''s published API definitions: grepr-openapi.json, grepr.json. Each path carries the servers of the definition it was published in.'
tags:
- name: Chats
paths:
  /v1/chat-preferences:
    get:
      description: Returns the defaults new chats start with for this user. A field the user has never set is null, which the client reads as "use the default" rather than "empty".
      operationId: get_1
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatPreferences'
          description: Preferences retrieved
        '401':
          description: Unauthorized
      summary: Get the caller's chat preferences
      tags:
      - Chats
    put:
      description: Replaces the defaults new chats start with for this user. Storing an empty skill list is a deliberate choice to start with none, and is kept as such.
      operationId: set
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatPreferences'
        required: true
      responses:
        '202':
          description: Preferences stored
        '401':
          description: Unauthorized
      summary: Set the caller's chat preferences
      tags:
      - Chats
  /v1/chats:
    get:
      description: Returns one page of the authenticated user's chats within their org, most-recently-updated first. Metadata only (id, title, timestamps); turn content is read per-chat. Page backwards with the response's nextCursor.
      operationId: list_1
      parameters:
      - description: Opaque cursor from a previous page's nextCursor; omit for the first page.
        in: query
        name: cursor
        schema:
          type: string
      - description: Requested page size (1–100); defaults to 20.
        in: query
        name: pageSize
        schema:
          default: 20
          format: int32
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatList'
          description: Chats retrieved successfully
        '401':
          description: Unauthorized
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: List the user's chats
      tags:
      - Chats
    post:
      description: Creates a chat, starts its workflow, and submits the first message. Returns the new chat id; the turn runs asynchronously.
      operationId: create_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChatRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateChatResponse'
          description: Chat created
        '401':
          description: Unauthorized
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Create a chat
      tags:
      - Chats
  /v1/chats/{chatId}:
    delete:
      description: 'Soft-deletes the chat: it stops being listed and is reported as not found, while its row and journal are retained. Cancels any in-flight turn and tears down the sandbox. Idempotent. Returns 202 immediately.'
      operationId: delete_1
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Delete accepted
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Delete a chat
      tags:
      - Chats
    get:
      description: Returns the chat's status (mirrored from the backing workflow's Temporal status) and its current turn index. Polled while the chat runs.
      operationId: status
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatStatusResponse'
          description: Status retrieved successfully
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Get chat metadata
      tags:
      - Chats
    put:
      description: Signals the chat's workflow with a new user message. Returns 202 immediately.
      operationId: append
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppendMessageRequest'
      responses:
        '202':
          description: Message accepted
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
        '409':
          description: Chat is no longer running
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Append a message to a chat
      tags:
      - Chats
  /v1/chats/{chatId}/auto-approve:
    put:
      description: Turns auto-approval on or off for the chat. While on, gated actions run without prompting, and a turn already parked on an approval is released. The setting is persisted and survives a restart of the chat. Returns 202 immediately.
      operationId: setAutoApprove
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoApproveRequest'
      responses:
        '202':
          description: Auto-approval mode updated
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Switch a chat's auto-approval mode
      tags:
      - Chats
  /v1/chats/{chatId}/cancel:
    post:
      description: Signals the chat's workflow to abort the current turn and finish as CANCELLED.
      operationId: cancel
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Cancel requested
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
        '409':
          description: Chat is already finished
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Cancel a chat
      tags:
      - Chats
  /v1/chats/{chatId}/permissions/{permissionId}:
    post:
      description: Signals the chat's workflow with the user's approve/reject decision for the gated action it is waiting on, resuming the turn. Returns 202 immediately.
      operationId: respondToPermission
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      - in: path
        name: permissionId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionReplyRequest'
      responses:
        '202':
          description: Decision accepted
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
        '409':
          description: Chat is no longer running
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Reply to a chat's pending approval
      tags:
      - Chats
  /v1/chats/{chatId}/stop:
    post:
      description: Signals the chat's workflow to abort the current turn but stay alive, parked for the next message. Returns 202 immediately.
      operationId: stop
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Stop requested
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
        '409':
          description: Chat is no longer running
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Stop a chat's in-flight turn
      tags:
      - Chats
  /v1/chats/{chatId}/title:
    put:
      description: Replaces the chat's display title with a user-chosen one, clamped to the same length as a derived title. Does not reorder the chat list. Returns 202 immediately.
      operationId: rename
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenameChatRequest'
      responses:
        '202':
          description: Chat renamed
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Rename a chat
      tags:
      - Chats
  /v1/chats/{chatId}/turns:
    get:
      description: Returns journalled turns after the given sequence, oldest first.
      operationId: turns
      parameters:
      - in: path
        name: chatId
        required: true
        schema:
          type: string
      - in: query
        name: afterSeq
        schema:
          default: -1
          format: int32
          minimum: -1
          type: integer
      - in: query
        name: pageSize
        schema:
          default: 50
          format: int32
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptTurnsList'
          description: Turns retrieved successfully
        '401':
          description: Unauthorized
        '404':
          description: Chat not found
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Stream a chat's turns by sequence cursor
      tags:
      - Chats
components:
  schemas:
    RenameChatRequest:
      properties:
        title:
          type: string
      required:
      - title
      type: object
    ChatSummary:
      properties:
        chatId:
          type: string
        createdAt:
          format: date-time
          type: string
        title:
          type: string
        updatedAt:
          format: date-time
          type: string
      type: object
    ChatPreferences:
      properties:
        enabledSkills:
          items:
            type: string
          type: array
      type: object
    PermissionReplyRequest:
      properties:
        reply:
          pattern: once|always|reject
          type: string
      required:
      - reply
      type: object
    TranscriptTurnsList:
      properties:
        hasMore:
          type: boolean
        turns:
          items:
            $ref: '#/components/schemas/TranscriptTurn'
          type: array
      type: object
    AutoApproveRequest:
      properties:
        autoApprove:
          type: boolean
      type: object
    TranscriptToolCall:
      properties:
        argumentsJson:
          type: string
        id:
          type: string
        name:
          type: string
      type: object
    CreateChatResponse:
      properties:
        chatId:
          type: string
      type: object
    TranscriptTurn:
      properties:
        messages:
          items:
            $ref: '#/components/schemas/TranscriptMessage'
          type: array
        seq:
          format: int32
          type: integer
      type: object
    AppendMessageRequest:
      properties:
        text:
          type: string
      required:
      - text
      type: object
    ChatStatusResponse:
      properties:
        autoApprove:
          type: boolean
        model:
          $ref: '#/components/schemas/ModelConfiguration'
        pendingApproval:
          $ref: '#/components/schemas/PendingApproval'
        processing:
          type: boolean
        status:
          type: string
        turnIndex:
          format: int32
          type: integer
      type: object
    PendingApproval:
      properties:
        command:
          type: string
        permissionId:
          type: string
      type: object
    ModelConfiguration:
      properties:
        integrationId:
          type: string
        maxOutputTokens:
          format: int32
          type: integer
        modelName:
          type: string
        provider:
          enum:
          - ANTHROPIC
          - GEMINI
          - LITELLM
          type: string
      type: object
    ChatList:
      properties:
        chats:
          items:
            $ref: '#/components/schemas/ChatSummary'
          type: array
        nextCursor:
          type: string
      type: object
    TranscriptMessage:
      properties:
        durationNanos:
          format: int64
          type: integer
        id:
          type: string
        role:
          enum:
          - SYSTEM
          - TRIGGER_SIGNAL
          - USER
          - ASSISTANT
          - TOOL_RESULT
          - KNOWN_ISSUES
          type: string
        startedAt:
          format: date-time
          type: string
        text:
          type: string
        timestamp:
          format: date-time
          type: string
        toolCallId:
          type: string
        toolCalls:
          items:
            $ref: '#/components/schemas/TranscriptToolCall'
          type: array
        toolName:
          type: string
      type: object
    CreateChatRequest:
      properties:
        autoApprove:
          type: boolean
        enabledSkills:
          items:
            type: string
          maxItems: 64
          minItems: 0
          type: array
        model:
          $ref: '#/components/schemas/ModelConfiguration'
        text:
          type: string
      required:
      - model
      - text
      type: object
  securitySchemes:
    grepr-api-key:
      in: header
      name: GREPR-API-KEY
      type: apiKey
    grepr-oidc:
      bearerFormat: JWT
      openIdConnectUrl: https://grepr-prod.us.auth0.com/.well-known/openid-configuration
      type: openIdConnect
x-refined-from:
- grepr-openapi.json
- grepr.json
x-tagGroups:
- name: Integrations
  tags:
  - Grepr-hosted Data Warehouse Integration
  - External S3 Data Warehouse Integration
  - Datadog Integration
  - New Relic Integration
  - Splunk Integration
  - Sumo Logic Integration
  - OpenTelemetry Integration
- name: Pipelines
  tags:
  - Jobs
  - Templates
  - Datasets
  - Status Metrics
  - External Triggers
  - Job Actions
  - Triggers
- name: Pipeline Components
  tags:
  - Operations
  - Transforms
  - Sources
  - Sinks
- name: Administration
  tags:
  - Users
  - Teams
  - Roles
  - Permission
  - Invitations
  - Activity Logs
- name: Organization
  tags:
  - Organizations
  - Access Configuration
  - Grepr API Key
  - Service Accounts
  - Signup
- name: Query & Analysis
  tags:
  - Job Anomalies
  - Grok Parsing
  - Query Parsing
  - Validation
- name: System
  tags:
  - Manifest