Unisson integrations API

The integrations API from Unisson — 101 operation(s) for integrations.

OpenAPI Specification

unisson-integrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Unisson agent-evals integrations API
  version: 1.0.0
tags:
- name: integrations
paths:
  /api/v1/integrations/slack/debug-users:
    get:
      tags:
      - integrations
      summary: Debug Slack Users
      description: Debug endpoint to check Slack user mappings (admin only)
      operationId: debug_slack_users_api_v1_integrations_slack_debug_users_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/status:
    get:
      tags:
      - integrations
      summary: Get Integration Status
      description: Get status of all integrations for current organization
      operationId: get_integration_status_api_v1_integrations_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IntegrationStatus'
                type: array
                title: Response Get Integration Status Api V1 Integrations Status Get
      security:
      - HTTPBearer: []
  /api/v1/integrations/granola/credential:
    get:
      tags:
      - integrations
      summary: Get Granola Credential
      operationId: get_granola_credential_api_v1_integrations_granola_credential_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
    post:
      tags:
      - integrations
      summary: Import Granola Credential
      description: Validate and store the org's Granola workspace API key.
      operationId: import_granola_credential_api_v1_integrations_granola_credential_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GranolaCredentialRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    delete:
      tags:
      - integrations
      summary: Disconnect Granola Credential
      operationId: disconnect_granola_credential_api_v1_integrations_granola_credential_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/granola/folders:
    get:
      tags:
      - integrations
      summary: List Granola Folders
      operationId: list_granola_folders_api_v1_integrations_granola_folders_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/{provider}/connected-members:
    get:
      tags:
      - integrations
      summary: List Connected Members
      description: 'List org members that have connected the given (per-user) provider.


        Used by the customer IntegrationsTab to render a "Synced by …" list

        for per-user integrations (gmail, google_calendar, …) so admins can

        see whose mailbox/calendar contributes to customer sync.


        Org-scoped providers always return at most one row (the admin who

        connected). Per-user providers return one row per connected member.'
      operationId: list_connected_members_api_v1_integrations__provider__connected_members_get
      security:
      - HTTPBearer: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/github/connect:
    get:
      tags:
      - integrations
      summary: Connect Github
      description: Get GitHub OAuth URL to start connection (admin only)
      operationId: connect_github_api_v1_integrations_github_connect_get
      security:
      - HTTPBearer: []
      parameters:
      - name: redirect_url
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Redirect Url
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/github/callback:
    get:
      tags:
      - integrations
      summary: Github Callback
      description: Handle GitHub OAuth callback
      operationId: github_callback_api_v1_integrations_github_callback_get
      security:
      - HTTPBearer: []
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/github/repositories:
    get:
      tags:
      - integrations
      summary: List Github Repositories
      description: List accessible GitHub repositories
      operationId: list_github_repositories_api_v1_integrations_github_repositories_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GitHubRepository'
                type: array
                title: Response List Github Repositories Api V1 Integrations Github Repositories Get
      security:
      - HTTPBearer: []
  /api/v1/integrations/github/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Github
      description: Disconnect GitHub integration
      operationId: disconnect_github_api_v1_integrations_github_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/google_drive/connect:
    get:
      tags:
      - integrations
      summary: Connect Google Drive
      description: Get Google OAuth URL to start a Drive-only connection (admin only).
      operationId: connect_google_drive_api_v1_integrations_google_drive_connect_get
      security:
      - HTTPBearer: []
      parameters:
      - name: redirect_url
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Redirect Url
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/google_drive/callback:
    get:
      tags:
      - integrations
      summary: Google Drive Callback
      description: Handle Google Drive OAuth callback.
      operationId: google_drive_callback_api_v1_integrations_google_drive_callback_get
      security:
      - HTTPBearer: []
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/google_drive/search:
    get:
      tags:
      - integrations
      summary: Search Drive Files
      description: 'Search files in Google Drive. Empty query returns the most-

        recently-modified ``limit`` files (search_files orders by

        modifiedTime desc). Pass ``exclude_folders=true`` to skip

        ``application/vnd.google-apps.folder`` rows — used by the customer

        document picker, where folders aren''t linkable as documents.'
      operationId: search_drive_files_api_v1_integrations_google_drive_search_get
      security:
      - HTTPBearer: []
      parameters:
      - name: query
        in: query
        required: true
        schema:
          type: string
          title: Query
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 25
          title: Limit
      - name: exclude_folders
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Exclude Folders
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DriveFile'
                title: Response Search Drive Files Api V1 Integrations Google Drive Search Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/google_drive/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Google Drive
      description: Disconnect Google Drive integration.
      operationId: disconnect_google_drive_api_v1_integrations_google_drive_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/slack/connect:
    get:
      tags:
      - integrations
      summary: Connect Slack
      description: Get Slack OAuth URL to start connection (admin only)
      operationId: connect_slack_api_v1_integrations_slack_connect_get
      security:
      - HTTPBearer: []
      parameters:
      - name: redirect_url
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Redirect Url
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/slack/callback:
    get:
      tags:
      - integrations
      summary: Slack Callback
      description: Handle Slack OAuth callback
      operationId: slack_callback_api_v1_integrations_slack_callback_get
      security:
      - HTTPBearer: []
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/slack/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Slack
      description: Disconnect Slack integration
      operationId: disconnect_slack_api_v1_integrations_slack_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/slack/status:
    get:
      tags:
      - integrations
      summary: Get Slack Status
      description: 'Return whether Slack is connected for the org + workspace display info.


        Hydrates ``team_name`` / ``team_icon`` lazily into

        ``IntegrationToken.provider_metadata`` so subsequent pageloads don''t

        each round-trip Slack for display data.'
      operationId: get_slack_status_api_v1_integrations_slack_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/slack/notifications:
    get:
      tags:
      - integrations
      summary: List Slack Notification Configs
      description: Return the org's saved Slack notification configs.
      operationId: list_slack_notification_configs_api_v1_integrations_slack_notifications_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/slack/notifications/{notification_type}:
    put:
      tags:
      - integrations
      summary: Upsert Slack Notification Config
      operationId: upsert_slack_notification_config_api_v1_integrations_slack_notifications__notification_type__put
      security:
      - HTTPBearer: []
      parameters:
      - name: notification_type
        in: path
        required: true
        schema:
          type: string
          title: Notification Type
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackNotificationConfigBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - integrations
      summary: Delete Slack Notification Config
      operationId: delete_slack_notification_config_api_v1_integrations_slack_notifications__notification_type__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: notification_type
        in: path
        required: true
        schema:
          type: string
          title: Notification Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/slack/notifications/{notification_type}/test:
    post:
      tags:
      - integrations
      summary: Send Slack Notification Test
      operationId: send_slack_notification_test_api_v1_integrations_slack_notifications__notification_type__test_post
      security:
      - HTTPBearer: []
      parameters:
      - name: notification_type
        in: path
        required: true
        schema:
          type: string
          title: Notification Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/slack/events:
    post:
      tags:
      - integrations
      summary: Slack Events
      description: 'Slack Events API + interactivity endpoint (handled by Bolt).


        Bolt owns signature verification, the ``url_verification`` challenge,

        per-workspace token resolution (via the custom ``authorize`` that

        bridges to ``IntegrationToken``), and dispatch to the event / action

        / assistant listeners registered in ``app.integrations.slack_bolt_app``.

        Point both the Slack *Events* and *Interactivity* Request URLs here.'
      operationId: slack_events_api_v1_integrations_slack_events_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/teams/messages:
    post:
      tags:
      - integrations
      summary: Teams Messages
      description: 'Inbound Bot Framework endpoint (Activities). JWT auth + dispatch.


        The adapter validates the Bot-Framework JWT (the Teams analog of Slack''s

        signature check) inside ``process_activity``; we just deserialize the

        Activity and hand it to the bot''s ``on_turn``.'
      operationId: teams_messages_api_v1_integrations_teams_messages_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/teams/connect:
    get:
      tags:
      - integrations
      summary: Connect Teams
      description: 'Start the Teams connection: returns a pairing code (admin only).


        The admin installs the Unisson Teams app, then messages the bot

        ``/connect <code>``; the bot claims the code and stores the tenant link.'
      operationId: connect_teams_api_v1_integrations_teams_connect_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/teams/status:
    get:
      tags:
      - integrations
      summary: Teams Status
      operationId: teams_status_api_v1_integrations_teams_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/teams/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Teams
      operationId: disconnect_teams_api_v1_integrations_teams_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/whatsapp/webhook:
    post:
      tags:
      - integrations
      summary: Whatsapp Webhook
      description: 'Inbound Twilio WhatsApp webhook (form-encoded). Acks immediately.


        Verifies ``X-Twilio-Signature``, dedups on ``MessageSid``, then either

        completes a pending verification (the member echoed their code) or routes the

        message to the bound member''s org. Twilio retries on a slow response, so the

        heavy turn runs in a background task.'
      operationId: whatsapp_webhook_api_v1_integrations_whatsapp_webhook_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/email/inbound:
    post:
      tags:
      - integrations
      summary: Email Inbound
      description: 'Inbound Postmark email webhook (JSON). Acks immediately.


        Verifies the shared secret, enforces DMARC, dedups on ``Message-ID``, then

        either completes a pending verification or routes the mail to the bound

        member''s org. Threads by the email''s root ``Message-ID``.'
      operationId: email_inbound_api_v1_integrations_email_inbound_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/messaging-channels/status:
    get:
      tags:
      - integrations
      summary: Messaging Channels Status
      description: 'Whether the server is configured for each channel + this org''s paired count.


        "Configured" is derived from the credentials actually needed to operate —

        there''s no separate enable flag; each provider is always registered and

        simply no-ops without these (like Slack without a token).'
      operationId: messaging_channels_status_api_v1_integrations_messaging_channels_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/messaging-channels/members:
    get:
      tags:
      - integrations
      summary: Messaging Channels Members
      description: Org members joined to their WhatsApp / Email bindings (admin view).
      operationId: messaging_channels_members_api_v1_integrations_messaging_channels_members_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/messaging-channels/pair:
    post:
      tags:
      - integrations
      summary: Pair Messaging Channel
      description: 'Pair a member''s phone/email; returns the verify code + instructions.


        The member must confirm by sending the code from that phone/email (so we know

        they control it) before routing activates.'
      operationId: pair_messaging_channel_api_v1_integrations_messaging_channels_pair_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessagingPairRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/integrations/messaging-channels/{binding_id}:
    delete:
      tags:
      - integrations
      summary: Unpair Messaging Channel
      operationId: unpair_messaging_channel_api_v1_integrations_messaging_channels__binding_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: binding_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Binding Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/pylon/connect:
    post:
      tags:
      - integrations
      summary: Connect Pylon
      description: 'Connect Pylon integration using API token (admin only).


        Returns the webhook URL that the customer must configure in their

        Pylon Trigger settings.'
      operationId: connect_pylon_api_v1_integrations_pylon_connect_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PylonConnectRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/integrations/pylon/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Pylon
      description: Disconnect Pylon integration.
      operationId: disconnect_pylon_api_v1_integrations_pylon_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/pylon/webhooks/{org_slug}:
    post:
      tags:
      - integrations
      summary: Pylon Webhooks
      description: 'Handle Pylon webhook events.


        No auth required — verified via webhook signature.

        The org_slug in the URL identifies the organization.'
      operationId: pylon_webhooks_api_v1_integrations_pylon_webhooks__org_slug__post
      security:
      - HTTPBearer: []
      parameters:
      - name: org_slug
        in: path
        required: true
        schema:
          type: string
          title: Org Slug
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/hubspot/connect:
    get:
      tags:
      - integrations
      summary: Connect Hubspot
      description: Get HubSpot OAuth URL to start connection (admin only).
      operationId: connect_hubspot_api_v1_integrations_hubspot_connect_get
      security:
      - HTTPBearer: []
      parameters:
      - name: redirect_url
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Redirect Url
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/hubspot/callback:
    get:
      tags:
      - integrations
      summary: Hubspot Callback
      description: Handle HubSpot OAuth callback.
      operationId: hubspot_callback_api_v1_integrations_hubspot_callback_get
      security:
      - HTTPBearer: []
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/hubspot/disconnect:
    delete:
      tags:
      - integrations
      summary: Disconnect Hubspot
      description: Disconnect HubSpot integration and remove all customer configs.
      operationId: disconnect_hubspot_api_v1_integrations_hubspot_disconnect_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/samsara/api-keys/import:
    post:
      tags:
      - integrations
      summary: Import Samsara Api Keys
      description: 'Import one or many Samsara API keys (admin only).


        For each key the backend calls Samsara''s ``GET /me`` to learn the

        customer''s ``samsara_org_id`` + name, upserts ``samsara_accounts``,

        and stores the encrypted key. Returns a per-key result so the UI

        can show the success/failure for each line of the textarea

        independently.'
      operationId: import_samsara_api_keys_api_v1_integrations_samsara_api_keys_import_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportApiKeysRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/integrations/samsara/accounts:
    get:
      tags:
      - integrations
      summary: List Samsara Accounts
      description: 'List every known Samsara customer org for this workspace, with

        key + assignment counts (admin only).'
      operationId: list_samsara_accounts_api_v1_integrations_samsara_accounts_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /api/v1/integrations/samsara/accounts/{account_id}:
    get:
      tags:
      - integrations
      summary: Get Samsara Account
      description: Fetch one account + all its keys + all assignments (admin only).
      operationId: get_samsara_account_api_v1_integrations_samsara_accounts__account_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - integrations
      summary: Update Samsara Account
      description: 'Reassign the Unisson customer this Samsara account is linked to

        (admin only). The new customer must already exist.


        Returns 409 if the target customer is already linked to a

        different Samsara account — the

        ``uq_samsara_accounts_org_customer`` constraint enforces a 1:1

        mapping.'
      operationId: update_samsara_account_api_v1_integrations_samsara_accounts__account_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/samsara/accounts/{account_id}/keys/{key_id}:
    delete:
      tags:
      - integrations
      summary: Revoke Samsara Api Key
      description: 'Delete a Samsara API key (admin only). Cascades to any

        ``samsara_user_keys`` rows that pointed at this key.'
      operationId: revoke_samsara_api_key_api_v1_integrations_samsara_accounts__accoun

# --- truncated at 32 KB (101 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unisson/refs/heads/main/openapi/unisson-integrations-api-openapi.yml