Balladic Integrations API

The integrations API from Balladic — 13 operation(s) for integrations.

Operations 17

GET /integrations List Integrations #
DELETE /integrations/connections/{connection_id} Delete Connection #
GET /projects/{project_id}/integrations List Bindings #
POST /projects/{project_id}/integrations Create Binding #
GET /projects/{project_id}/integrations/available List Available #
GET /projects/{project_id}/integrations/search Search Remote #
PATCH /projects/{project_id}/integrations/{binding_id} Update Binding #
DELETE /projects/{project_id}/integrations/{binding_id} Delete Binding #
POST /projects/{project_id}/integrations/{binding_id}/retry Retry Binding #
POST /projects/{project_id}/tasks/{task_id}/links Create Link #
GET /integrations/github/install Install #
POST /integrations/github/installations Connect Installation #
POST /integrations/github/link Finish Link #
POST /integrations/github/bindings/{binding_id}/import Import Open Issues #

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/balladic-com:balladic-com-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 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

balladic-com-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Balladic Integrations API
  description: Balladestreger
  version: 0.11.10
tags:
- name: Integrations
paths:
  /integrations:
    get:
      tags:
      - Integrations
      summary: List Integrations
      operationId: list_integrations_integrations_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IntegrationProviderResponse'
                type: array
                title: Response List Integrations Integrations Get
      security:
      - HTTPBearer: []
  /integrations/connections/{connection_id}:
    delete:
      tags:
      - Integrations
      summary: Delete Connection
      operationId: delete_connection_integrations_connections__connection_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: connection_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Connection Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/integrations:
    get:
      tags:
      - Integrations
      summary: List Bindings
      operationId: list_bindings_projects__project_id__integrations_get
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IntegrationBindingResponse'
                title: Response List Bindings Projects  Project Id  Integrations Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Integrations
      summary: Create Binding
      operationId: create_binding_projects__project_id__integrations_post
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBindingRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationBindingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/integrations/available:
    get:
      tags:
      - Integrations
      summary: List Available
      operationId: list_available_projects__project_id__integrations_available_get
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: connection_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Connection Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteContainerResponse'
                title: Response List Available Projects  Project Id  Integrations Available Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/integrations/search:
    get:
      tags:
      - Integrations
      summary: Search Remote
      description: what a task in this ballad can be tied to, across its bound containers
      operationId: search_remote_projects__project_id__integrations_search_get
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: q
        in: query
        required: false
        schema:
          type: string
          maxLength: 200
          default: ''
          title: Q
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteItemResponse'
                title: Response Search Remote Projects  Project Id  Integrations Search Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/integrations/{binding_id}:
    patch:
      tags:
      - Integrations
      summary: Update Binding
      operationId: update_binding_projects__project_id__integrations__binding_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: binding_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Binding Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBindingRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationBindingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Integrations
      summary: Delete Binding
      operationId: delete_binding_projects__project_id__integrations__binding_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: binding_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Binding Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/integrations/{binding_id}/retry:
    post:
      tags:
      - Integrations
      summary: Retry Binding
      operationId: retry_binding_projects__project_id__integrations__binding_id__retry_post
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: binding_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Binding Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationBindingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/tasks/{task_id}/links:
    post:
      tags:
      - Integrations
      summary: Create Link
      operationId: create_link_projects__project_id__tasks__task_id__links_post
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLinkRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalLinkResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/tasks/{task_id}/links/{link_id}:
    delete:
      tags:
      - Integrations
      summary: Delete Link
      operationId: delete_link_projects__project_id__tasks__task_id__links__link_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: link_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Link Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /integrations/github/install:
    get:
      tags:
      - Integrations
      summary: Install
      operationId: install_integrations_github_install_get
      security:
      - HTTPBearer: []
      parameters:
      - name: return_to
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            maxLength: 300
            pattern: ^/([^/\\].*)?$
          - type: 'null'
          title: Return To
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitHubInstallResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /integrations/github/installations:
    post:
      tags:
      - Integrations
      summary: Connect Installation
      operationId: connect_installation_integrations_github_installations_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectInstallationRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedInstallationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /integrations/github/link:
    get:
      tags:
      - Integrations
      summary: Start Link
      operationId: start_link_integrations_github_link_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkStartResponse'
      security:
      - HTTPBearer: []
    post:
      tags:
      - Integrations
      summary: Finish Link
      operationId: finish_link_integrations_github_link_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    delete:
      tags:
      - Integrations
      summary: Stop Link
      description: changes on github show as the app's again; the account stays linked
      operationId: stop_link_integrations_github_link_delete
      responses:
        '204':
          description: Successful Response
      security:
      - HTTPBearer: []
  /integrations/github/bindings/{binding_id}/import:
    post:
      tags:
      - Integrations
      summary: Import Open Issues
      operationId: import_open_issues_integrations_github_bindings__binding_id__import_post
      security:
      - HTTPBearer: []
      parameters:
      - name: binding_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Binding Id
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RemoteContainerResponse:
      properties:
        external_id:
          type: string
          title: External Id
        name:
          type: string
          title: Name
        private:
          type: boolean
          title: Private
      type: object
      required:
      - external_id
      - name
      - private
      title: RemoteContainerResponse
    LinkRequest:
      properties:
        code:
          type: string
          maxLength: 200
          minLength: 1
          title: Code
        state:
          type: string
          maxLength: 2000
          minLength: 1
          title: State
      type: object
      required:
      - code
      - state
      title: LinkRequest
    ConnectInstallationRequest:
      properties:
        code:
          type: string
          maxLength: 200
          minLength: 1
          title: Code
        state:
          type: string
          maxLength: 2000
          minLength: 1
          title: State
        installation_id:
          type: integer
          title: Installation Id
      type: object
      required:
      - code
      - state
      - installation_id
      title: ConnectInstallationRequest
    ConnectedInstallationResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        provider:
          type: string
          title: Provider
        organization_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Organization Id
        external_account_login:
          type: string
          title: External Account Login
        status:
          type: string
          title: Status
        created_at:
          type: string
          format: date-time
          title: Created At
        return_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Return To
      type: object
      required:
      - id
      - provider
      - organization_id
      - external_account_login
      - status
      - created_at
      title: ConnectedInstallationResponse
    CreateBindingRequest:
      properties:
        connection_id:
          type: string
          format: uuid
          title: Connection Id
        external_id:
          type: string
          maxLength: 100
          minLength: 1
          title: External Id
      type: object
      required:
      - connection_id
      - external_id
      title: CreateBindingRequest
    RemoteItemResponse:
      properties:
        url:
          type: string
          title: Url
        kind:
          type: string
          title: Kind
        title:
          type: string
          title: Title
        ref:
          type: string
          title: Ref
        state:
          type: string
          title: State
      type: object
      required:
      - url
      - kind
      - title
      - ref
      - state
      title: RemoteItemResponse
    UpdateBindingRequest:
      properties:
        config:
          additionalProperties: true
          type: object
          title: Config
      type: object
      required:
      - config
      title: UpdateBindingRequest
    GitHubInstallResponse:
      properties:
        install_url:
          type: string
          title: Install Url
        state:
          type: string
          title: State
      type: object
      required:
      - install_url
      - state
      title: GitHubInstallResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IntegrationConnectionResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        provider:
          type: string
          title: Provider
        organization_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Organization Id
        external_account_login:
          type: string
          title: External Account Login
        status:
          type: string
          title: Status
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - provider
      - organization_id
      - external_account_login
      - status
      - created_at
      title: IntegrationConnectionResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    IntegrationProviderResponse:
      properties:
        provider:
          type: string
          title: Provider
        label:
          type: string
          title: Label
        connections:
          items:
            $ref: '#/components/schemas/IntegrationConnectionResponse'
          type: array
          title: Connections
        can_connect:
          type: boolean
          title: Can Connect
      type: object
      required:
      - provider
      - label
      - connections
      - can_connect
      title: IntegrationProviderResponse
    LinkStartResponse:
      properties:
        url:
          type: string
          title: Url
      type: object
      required:
      - url
      title: LinkStartResponse
    IntegrationBindingResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        connection_id:
          type: string
          format: uuid
          title: Connection Id
        provider:
          type: string
          title: Provider
        external_id:
          type: string
          title: External Id
        external_name:
          type: string
          title: External Name
        config:
          additionalProperties: true
          type: object
          title: Config
        status:
          type: string
          title: Status
        dead_jobs:
          type: integer
          title: Dead Jobs
        last_error:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Error
        synced_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Synced At
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - connection_id
      - provider
      - external_id
      - external_name
      - config
      - status
      - dead_jobs
      - last_error
      - synced_at
      - created_at
      title: IntegrationBindingResponse
    ExternalLinkResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        provider:
          type: string
          title: Provider
        kind:
          type: string
          title: Kind
        role:
          type: string
          enum:
          - mirror
          - reference
          title: Role
        binding_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Binding Id
        external_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External Id
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
        snapshot:
          additionalProperties: true
          type: object
          title: Snapshot
        closes:
          type: boolean
          title: Closes
        status:
          type: string
          title: Status
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - provider
      - kind
      - role
      - binding_id
      - external_id
      - url
      - snapshot
      - closes
      - status
      - created_at
      title: ExternalLinkResponse
    IdentityResponse:
      properties:
        provider:
          type: string
          title: Provider
        login:
          anyOf:
          - type: string
          - type: 'null'
          title: Login
        acts_as_you:
          type: boolean
          title: Acts As You
      type: object
      required:
      - provider
      - login
      - acts_as_you
      title: IdentityResponse
    CreateLinkRequest:
      properties:
        url:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Url
        binding_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Binding Id
      type: object
      title: CreateLinkRequest
      description: link a pasted url, or open a new mirrored object through a binding
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer