Revert Chat API

Unified chat operations across Slack, Microsoft Teams, and Discord

OpenAPI Specification

revert-chat-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Revert Unified Accounting Chat API
  description: Revert is an open-source unified API platform that makes it easy to build integrations with third-party services including CRMs (Salesforce, HubSpot, Zoho CRM, Pipedrive, Close CRM), ticketing systems (Jira, Asana), accounting (Xero, QuickBooks), chat (Slack, Microsoft Teams, Discord), and more — all through a single standardized API.
  version: 1.0.0
  contact:
    url: https://www.revert.dev/
  license:
    name: AGPL-3.0
    url: https://github.com/revertinc/revert/blob/main/LICENSE.txt
servers:
- url: https://api.revert.dev
  description: Production
- url: https://api-staging.revert.dev
  description: Staging
security:
- ApiTokenAuth: []
tags:
- name: Chat
  description: Unified chat operations across Slack, Microsoft Teams, and Discord
paths:
  /chat/channels:
    get:
      operationId: getChatChannels
      summary: List Chat Channels
      description: Get all chat channels with pagination
      tags:
      - Chat
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: List of channels
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedResponse'
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        $ref: '#/components/schemas/ChatChannel'
        '401':
          description: Unauthorized
  /chat/messages:
    get:
      operationId: getChatMessages
      summary: List Chat Messages
      description: Get chat messages with pagination
      tags:
      - Chat
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: List of messages
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedResponse'
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        $ref: '#/components/schemas/ChatMessage'
        '401':
          description: Unauthorized
    post:
      operationId: sendChatMessage
      summary: Send Chat Message
      description: Send a new chat message to a channel
      tags:
      - Chat
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatMessage'
      responses:
        '200':
          description: Message sent
        '401':
          description: Unauthorized
components:
  schemas:
    ResponseStatus:
      type: string
      enum:
      - ok
      - error
    ChatMessage:
      type: object
      properties:
        id:
          type: string
        text:
          type: string
        channelId:
          type: string
        userId:
          type: string
        createdAt:
          type: string
          format: date-time
        remoteId:
          type: string
    ChatChannel:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          type: string
        memberCount:
          type: integer
        remoteId:
          type: string
    PaginatedResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ResponseStatus'
        next:
          type: string
          description: Cursor for next page
        previous:
          type: string
          description: Cursor for previous page
  parameters:
    Cursor:
      name: cursor
      in: query
      required: false
      schema:
        type: string
      description: Pagination cursor for next/previous page
    PageSize:
      name: pageSize
      in: query
      required: false
      schema:
        type: string
      description: Number of results per page
    TenantId:
      name: x-revert-t-id
      in: header
      required: true
      schema:
        type: string
      description: The unique customer id used when the customer linked their account
    ApiVersion:
      name: x-api-version
      in: header
      required: false
      schema:
        type: string
      description: Optional Revert API version. Defaults to latest if missing
  securitySchemes:
    ApiTokenAuth:
      type: apiKey
      in: header
      name: x-revert-api-token
      description: Your official API key for accessing Revert APIs