Revert Tickets API

Unified ticketing operations across Jira and Asana

OpenAPI Specification

revert-tickets-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Revert Unified Accounting Tickets 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: Tickets
  description: Unified ticketing operations across Jira and Asana
paths:
  /ticket/tasks/{id}:
    get:
      operationId: getTicketTask
      summary: Get Ticket Task
      description: Get details of a specific ticketing task by ID
      tags:
      - Tickets
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          description: Ticket task details
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    $ref: '#/components/schemas/ResponseStatus'
                  result:
                    $ref: '#/components/schemas/Ticket'
        '401':
          description: Unauthorized
    patch:
      operationId: updateTicketTask
      summary: Update Ticket Task
      description: Update an existing ticketing task
      tags:
      - Tickets
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ticket'
      responses:
        '200':
          description: Ticket task updated
        '401':
          description: Unauthorized
  /ticket/tasks:
    get:
      operationId: getTicketTasks
      summary: List Ticket Tasks
      description: Get all ticketing tasks with pagination
      tags:
      - Tickets
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: List of ticket tasks
        '401':
          description: Unauthorized
    post:
      operationId: createTicketTask
      summary: Create Ticket Task
      description: Create a new ticketing task
      tags:
      - Tickets
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ticket'
      responses:
        '200':
          description: Ticket task created
        '401':
          description: Unauthorized
  /ticket/collections:
    get:
      operationId: getTicketCollections
      summary: List Ticket Collections
      description: Get all ticket collections (projects/boards) with pagination
      tags:
      - Tickets
      parameters:
      - $ref: '#/components/parameters/TenantId'
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: List of collections
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedResponse'
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        $ref: '#/components/schemas/TicketCollection'
        '401':
          description: Unauthorized
components:
  schemas:
    ResponseStatus:
      type: string
      enum:
      - ok
      - error
    Ticket:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        description:
          type: string
        status:
          type: string
        priority:
          type: string
        assigneeId:
          type: string
        collectionId:
          type: string
        dueDate:
          type: string
          format: date
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        remoteId:
          type: string
        additional:
          type: object
    TicketCollection:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        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
    Fields:
      name: fields
      in: query
      required: false
      schema:
        type: string
      description: Comma-separated list of fields to include in response
    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