Terapi Integrations API

Manage available integration configurations

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/terapi-integrations-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

terapi-integrations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Terapi Actions Integrations API
  description: Terapi is an open-source embedded integration platform for building native product integrations. The REST API provides endpoints for managing integration connections, synchronizing data between third-party services, triggering actions on external APIs, and managing authentication tokens. Terapi enables SaaS products to offer native integrations to their customers without building each connector from scratch.
  version: '1.0'
  contact:
    name: Terapi Team
    url: https://terapi.dev
servers:
- url: https://api.terapi.dev
  description: Terapi Cloud API
- url: http://localhost:3003
  description: Terapi Self-Hosted API
security:
- SecretKeyAuth: []
tags:
- name: Integrations
  description: Manage available integration configurations
paths:
  /integration:
    get:
      operationId: listIntegrations
      summary: List Integrations
      description: Returns a list of all configured integrations (provider configurations) in your Terapi environment.
      tags:
      - Integrations
      responses:
        '200':
          description: Integrations retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createIntegration
      summary: Create Integration
      description: Creates a new integration configuration with credentials for a third-party provider. This enables end-users to connect to this provider.
      tags:
      - Integrations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationRequest'
      responses:
        '200':
          description: Integration created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Integration'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /integration/{provider_config_key}:
    get:
      operationId: getIntegration
      summary: Get Integration
      description: Returns details of a specific integration configuration.
      tags:
      - Integrations
      parameters:
      - name: provider_config_key
        in: path
        required: true
        description: The unique key for this integration configuration
        schema:
          type: string
      responses:
        '200':
          description: Integration retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Integration'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteIntegration
      summary: Delete Integration
      description: Deletes an integration configuration. All associated connections will also be deleted.
      tags:
      - Integrations
      parameters:
      - name: provider_config_key
        in: path
        required: true
        description: The unique key for this integration configuration
        schema:
          type: string
      responses:
        '204':
          description: Integration deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    IntegrationListResponse:
      type: object
      properties:
        integrations:
          type: array
          items:
            $ref: '#/components/schemas/Integration'
    Integration:
      type: object
      description: An integration configuration for a third-party provider
      properties:
        unique_key:
          type: string
          description: Your unique key for this integration configuration
        provider:
          type: string
          description: The provider name (e.g., github, salesforce, slack)
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        connection_count:
          type: integer
          description: Number of active connections using this integration
    CreateIntegrationRequest:
      type: object
      required:
      - provider_config_key
      - provider
      properties:
        provider_config_key:
          type: string
          description: Your unique key for this integration configuration
        provider:
          type: string
          description: The provider name from Terapi's supported providers list
        oauth_client_id:
          type: string
          description: OAuth client ID for OAuth2 providers
        oauth_client_secret:
          type: string
          description: OAuth client secret for OAuth2 providers
        oauth_scopes:
          type: string
          description: Comma-separated list of OAuth scopes to request
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Human-readable error message
  responses:
    Unauthorized:
      description: Authentication failed - invalid or missing secret key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request parameters or body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    SecretKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Secret key from Terapi environment settings. Passed as 'Bearer {secret_key}'
externalDocs:
  description: Terapi Documentation
  url: https://docs.terapi.dev