Anchor Browser Integrations API

The Integrations API from Anchor Browser — 2 operation(s) for integrations.

OpenAPI Specification

anchorbrowser-integrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AnchorBrowser Agentic capabilities Integrations API
  version: 1.0.0
  description: APIs to manage all browser-related actions and configuration.
servers:
- url: https://api.anchorbrowser.io
  description: API server
tags:
- name: Integrations
paths:
  /v1/integrations:
    post:
      summary: Create Integration
      description: "Creates a new integration with a third-party service like 1Password. \nThe integration can then be used in browser sessions to automatically load secrets and credentials.\n"
      security:
      - api_key_header: []
      tags:
      - Integrations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationRequest'
            examples:
              onePasswordIntegration:
                summary: Create a 1Password integration
                value:
                  name: My 1Password Integration
                  type: 1PASSWORD
                  credentials:
                    type: serviceAccount
                    data:
                      serviceAccount: ops_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      responses:
        '200':
          description: Integration created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid request or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to create integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      summary: List Integrations
      description: Retrieves all integrations for the authenticated team.
      security:
      - api_key_header: []
      tags:
      - Integrations
      responses:
        '200':
          description: List of integrations retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationListResponse'
        '500':
          description: Failed to list integrations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/integrations/{integrationId}:
    delete:
      summary: Delete Integration
      description: Deletes an existing integration and removes its stored credentials.
      security:
      - api_key_header: []
      tags:
      - Integrations
      parameters:
      - name: integrationId
        in: path
        required: true
        description: The ID of the integration to delete
        schema:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '200':
          description: Integration deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      integration:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          deleted:
                            type: boolean
                          path:
                            type: string
        '404':
          description: Integration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to delete integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ServiceAccountCredentials:
      type: object
      required:
      - type
      - data
      properties:
        type:
          type: string
          enum:
          - serviceAccount
          description: Credential type
        data:
          type: object
          required:
          - serviceAccount
          properties:
            serviceAccount:
              type: string
              description: Service account token
              example: ops_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    IntegrationType:
      type: string
      enum:
      - 1PASSWORD
      description: The type of integration
    IntegrationResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            integration:
              $ref: '#/components/schemas/IntegrationItem'
    CreateIntegrationRequest:
      type: object
      required:
      - name
      - type
      - credentials
      properties:
        name:
          type: string
          minLength: 1
          description: Name for the integration
          example: My 1Password Integration
        type:
          $ref: '#/components/schemas/IntegrationType'
        credentials:
          $ref: '#/components/schemas/ServiceAccountCredentials'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
    IntegrationItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique integration ID
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: Integration name
          example: My 1Password Integration
        type:
          $ref: '#/components/schemas/IntegrationType'
        path:
          type: string
          description: Storage path for the integration
          example: integrations/team-id/550e8400-e29b-41d4-a716-446655440000
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the integration was created
          example: '2024-01-01T00:00:00.000Z'
    IntegrationListResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            integrations:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationItem'
  securitySchemes:
    api_key_header:
      type: apiKey
      in: header
      name: anchor-api-key
      description: API key passed in the header