dialogbrain-com OAuth API

The oauth API from dialogbrain-com — 5 operation(s) for oauth.

Operations 5

GET /api/oauth/google/callback Google Oauth Callback #
GET /api/oauth/google/status Google Oauth Status #
POST /api/oauth/google/sync-calendars Sync Google Calendars #
GET /api/oauth/gmail/status Gmail Oauth Status #
GET /api/oauth/microsoft/callback Microsoft Oauth Callback #

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/dialogbrain-com:dialogbrain-com-oauth-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

dialogbrain-com-oauth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DialogBrain v2 API Gateway OAuth API
  description: Clean refactored API gateway with minimal vertical slice
  version: 0.1.0
tags:
- name: OAuth
paths:
  /api/oauth/google/callback:
    get:
      tags:
      - OAuth
      summary: Google Oauth Callback
      description: 'Universal OAuth callback endpoint for Google services (Calendar, Gmail).


        Google redirects here after user authorizes (or denies) access.

        This endpoint:

        1. Determines service type by checking Redis state prefixes

        2. Exchanges the code for tokens

        3. Creates/updates the channel_account

        4. Saves OAuth tokens

        5. Redirects to frontend with success/error status


        Args:

        code: Authorization code from Google

        state: State token for CSRF protection

        error: Error code if user denied access

        error_description: Human-readable error description


        Returns:

        Redirect to frontend integrations page with status'
      operationId: google_oauth_callback_api_oauth_google_callback_get
      parameters:
      - name: code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
      - name: state
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: State
      - name: error
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
      - name: error_description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Description
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/oauth/google/status:
    get:
      tags:
      - OAuth
      summary: Google Oauth Status
      description: 'Check OAuth status for a Google Calendar account.


        Args:

        account_id: Channel account ID


        Returns:

        Account status and token expiration info'
      operationId: google_oauth_status_api_oauth_google_status_get
      parameters:
      - name: account_id
        in: query
        required: true
        schema:
          type: integer
          description: Account ID to check
          title: Account Id
        description: Account ID to check
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/oauth/google/sync-calendars:
    post:
      tags:
      - OAuth
      summary: Sync Google Calendars
      description: 'Manually sync Google Calendar calendars as threads.


        This endpoint fetches all calendars from Google Calendar and persists them

        as Thread entries in the database, so they appear in the Unified Inbox.


        Args:

        account_id: Channel account ID


        Returns:

        Number of calendars synced'
      operationId: sync_google_calendars_api_oauth_google_sync_calendars_post
      parameters:
      - name: account_id
        in: query
        required: true
        schema:
          type: integer
          description: Account ID to sync calendars for
          title: Account Id
        description: Account ID to sync calendars for
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/oauth/gmail/status:
    get:
      tags:
      - OAuth
      summary: Gmail Oauth Status
      description: 'Check OAuth status for a Gmail account.


        Args:

        account_id: Channel account ID


        Returns:

        Account status and token expiration info'
      operationId: gmail_oauth_status_api_oauth_gmail_status_get
      parameters:
      - name: account_id
        in: query
        required: true
        schema:
          type: integer
          description: Account ID to check
          title: Account Id
        description: Account ID to check
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/oauth/microsoft/callback:
    get:
      tags:
      - OAuth
      summary: Microsoft Oauth Callback
      description: 'Microsoft redirects here after a person signs in to connect a channel on

        the platform''s Entra app (Teams, Outlook calendar), or after an

        administrator consents for the tenant. The state names the channel; a

        state minted before it did is Teams.


        A sign-in the tenant''s policy refuses for want of an admin''s consent

        (AADSTS65001 and friends) is answered with the admin-consent link to

        forward, not as a failure.'
      operationId: microsoft_oauth_callback_api_oauth_microsoft_callback_get
      parameters:
      - name: code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
      - name: state
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: State
      - name: error
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
      - name: error_description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Description
      - name: admin_consent
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Admin Consent
      - name: tenant
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError