AppDirect Integrations API

The Integrations API from AppDirect — 14 operation(s) for integrations.

OpenAPI Specification

appdirect-integrations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: The Companies API allows developers to manage marketplace companies and their user memberships.
  title: Companies AI Embed Integrations API
  license:
    name: Apache License, Version 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
  version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: Integrations
paths:
  /api/v1/integrations/google-drive/accounts:
    get:
      tags:
      - Integrations
      summary: List Google Drive accounts
      description: Retrieves Google Drive OAuth accounts for the current user.
      operationId: listGoogleDriveAccounts
      responses:
        '200':
          description: List of Google Drive accounts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOAuthToken'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/onedrive/accounts:
    get:
      tags:
      - Integrations
      summary: List OneDrive accounts
      description: Retrieves OneDrive OAuth accounts for the current user.
      operationId: listOneDriveAccounts
      responses:
        '200':
          description: List of OneDrive accounts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOAuthToken'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/onedrive/accounts/{id}:
    delete:
      tags:
      - Integrations
      summary: Disconnect a OneDrive account
      description: Deletes the specified OneDrive OAuth token.
      operationId: deleteOneDriveAccount
      parameters:
      - name: id
        in: path
        required: true
        description: The OAuth token ID.
        schema:
          type: string
      responses:
        '200':
          description: Account disconnected.
          content:
            application/json:
              schema:
                type: string
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/onedrive/search:
    post:
      tags:
      - Integrations
      summary: Search OneDrive content
      description: Searches OneDrive files and folders.
      operationId: searchOneDrive
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationSearchRequest'
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                type: object
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/onedrive/children:
    post:
      tags:
      - Integrations
      summary: List OneDrive folder children
      description: Retrieves child items for a OneDrive folder.
      operationId: listOneDriveChildren
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationItemRequest'
      responses:
        '200':
          description: Children list.
          content:
            application/json:
              schema:
                type: object
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/onedrive/sharepoint:
    post:
      tags:
      - Integrations
      summary: List SharePoint children
      description: Retrieves child items for a SharePoint site.
      operationId: listSharePointChildren
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationItemRequest'
      responses:
        '200':
          description: SharePoint children list.
          content:
            application/json:
              schema:
                type: object
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/confluence/accounts:
    get:
      tags:
      - Integrations
      summary: List Confluence accounts
      description: Retrieves Confluence OAuth accounts for the current user.
      operationId: listConfluenceAccounts
      responses:
        '200':
          description: List of Confluence accounts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOAuthToken'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/confluence/search:
    post:
      tags:
      - Integrations
      summary: Search Confluence content
      description: Searches Confluence content for selection.
      operationId: searchConfluence
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationSearchRequest'
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                type: object
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/jira/accounts:
    get:
      tags:
      - Integrations
      summary: List Jira accounts
      description: Retrieves Jira OAuth accounts for the current user.
      operationId: listJiraAccounts
      responses:
        '200':
          description: List of Jira accounts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOAuthToken'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/jira/search:
    post:
      tags:
      - Integrations
      summary: Search Jira projects
      description: Searches Jira projects for selection.
      operationId: searchJira
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationSearchRequest'
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                type: object
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/github/accounts:
    get:
      tags:
      - Integrations
      summary: List GitHub accounts
      description: Retrieves GitHub OAuth accounts for the current user.
      operationId: listGitHubAccounts
      responses:
        '200':
          description: List of GitHub accounts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOAuthToken'
      security:
      - ApiKeyAuth: []
  /api/v1/me/integrations/github/installs:
    get:
      tags:
      - Integrations
      summary: List GitHub app installations
      description: Retrieves GitHub app installations for the current user.
      operationId: listGitHubAppInstallations
      responses:
        '200':
          description: GitHub app installations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitHubAppInstallationsResponse'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/github/search:
    post:
      tags:
      - Integrations
      summary: Search GitHub repositories
      description: Searches GitHub repositories accessible to an installation.
      operationId: searchGitHubRepositories
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitHubRepositorySearchRequest'
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedExternalGitHubRepositoryResponse'
      security:
      - ApiKeyAuth: []
  /api/v1/integrations/github/preview:
    post:
      tags:
      - Integrations
      summary: Preview GitHub repository
      description: Previews repository content for selection.
      operationId: previewGitHubRepository
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitHubPreviewRequest'
      responses:
        '200':
          description: Preview results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitHubPreviewResponse'
      security:
      - ApiKeyAuth: []
components:
  schemas:
    PaginatedExternalGitHubRepositoryResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExternalGitHubRepository'
        pagination:
          type: object
          properties:
            nextCursor:
              type: string
    GitHubAppInstallation:
      type: object
      properties:
        id:
          type: integer
        installationId:
          type: string
        targetId:
          type: string
        targetType:
          type: string
        targetLabel:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    GitHubRepositorySearchRequest:
      type: object
      properties:
        searchTerm:
          type: string
        gitHubAppInstallationId:
          type: string
        limit:
          type: integer
        cursor:
          type: string
      required:
      - gitHubAppInstallationId
    OAuthTokenProvider:
      type: string
      enum:
      - GOOGLE
      - MSFT
      - CONFLUENCE
      - JIRA
      - GITHUB
    UserOAuthToken:
      type: object
      properties:
        id:
          type: string
        orgId:
          type: string
        userId:
          type: string
        provider:
          $ref: '#/components/schemas/OAuthTokenProvider'
        externalId:
          type: string
        label:
          type: string
        data:
          type: object
        metadata:
          type: object
        status:
          $ref: '#/components/schemas/OAuthTokenStatus'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        issuedAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        refreshExpiresAt:
          type: string
          format: date-time
    GitHubAppInstallationsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GitHubAppInstallation'
    GitHubPreviewResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GithubFile'
    IntegrationItemRequest:
      type: object
      properties:
        id:
          type: string
        oauthTokenId:
          type: string
      required:
      - id
      - oauthTokenId
    OAuthTokenStatus:
      type: string
      enum:
      - PENDING
      - ACTIVE
      - EXPIRED
      - REVOKED
    GithubFile:
      type: object
      properties:
        name:
          type: string
        path:
          type: string
        sha:
          type: string
        size:
          type: integer
        url:
          type: string
        html_url:
          type: string
        git_url:
          type: string
        download_url:
          type: string
          nullable: true
        type:
          type: string
        owner:
          type: string
        repo:
          type: string
        content:
          type: string
    GitHubPreviewRequest:
      type: object
      properties:
        repo:
          type: string
        gitHubAppInstallationId:
          type: string
      required:
      - repo
      - gitHubAppInstallationId
    IntegrationSearchRequest:
      type: object
      properties:
        searchTerm:
          type: string
        oauthTokenId:
          type: string
      required:
      - searchTerm
      - oauthTokenId
    ExternalGitHubRepository:
      type: object
      properties:
        id:
          type: integer
        node_id:
          type: string
        name:
          type: string
        private:
          type: boolean