> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List connectors

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns every connector you can connect to an app, with what each one needs before authorization. Use `integration_type` from here on the app connector endpoints.

The list can differ between callers, because some connectors reach only some accounts while they roll out. It isn't paginated.

This is limited to 60 requests a minute per caller. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key, including a read-only key. Workspace API keys are not accepted.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/external-auth/available-integrations
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/external-auth/available-integrations:
    get:
      summary: List connectors
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns every connector you can connect to an app, with what each one
        needs before authorization. Use `integration_type` from here on the app
        connector endpoints.


        The list can differ between callers, because some connectors reach only
        some accounts while they roll out. It isn't paginated.


        This is limited to 60 requests a minute per caller. Some workspaces have
        a different limit.


        <Note>This endpoint accepts a personal API key, including a read-only
        key. Workspace API keys are not accepted.</Note>
      operationId: >-
        list_available_integrations_global_api_external_auth_available_integrations_get
      responses:
        '200':
          description: The connectors available to you.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIntegrationTypesResponse'
        '401':
          description: Missing or invalid credentials.
        '409':
          description: Your active workspace requires an unlocked SSO session.
        '429':
          description: Rate limit reached. Retry later.
components:
  schemas:
    ListIntegrationTypesResponse:
      properties:
        integrations:
          items:
            $ref: '#/components/schemas/IntegrationTypeInfo'
          type: array
          title: Integrations
          description: >-
            Every connector available to you. Sort by `catalog_order` to list
            them the way Base44 does.
          example:
            - auth_method: oauth
              catalog_order: 5
              category: Project Management
              connection_config_fields: []
              connector_mode: all
              description: Access and manage Google Calendar events
              display_name: Google Calendar
              integration_type: googlecalendar
      type: object
      required:
        - integrations
      title: ListIntegrationTypesResponse
      description: The connectors available to you.
    IntegrationTypeInfo:
      properties:
        integration_type:
          type: string
          title: Integration Type
          description: >-
            ID of the connector. Use it as `integration_type` on the app
            connector endpoints.
          example: googlecalendar
        display_name:
          type: string
          title: Display Name
          description: Name of the connector.
          example: Google Calendar
        description:
          type: string
          title: Description
          description: What the connector gives an app access to.
          example: Access and manage Google Calendar events
        auth_method:
          type: string
          enum:
            - oauth
            - platform_credentials
          title: Auth Method
          description: >-
            How the connector authenticates. Either `oauth`, where someone signs
            in to the provider, or `platform_credentials`, where it runs on
            Base44's own credentials and has no authorization to start.
          default: oauth
          example: oauth
        connection_config_fields:
          items:
            $ref: '#/components/schemas/ConnectionConfigField'
          type: array
          title: Connection Config Fields
          description: >-
            Values to collect before authorization, sent as `connection_config`.
            Empty for most connectors.
          example: []
        connector_mode:
          $ref: '#/components/schemas/ConnectorMode'
          description: >-
            Which ways the connector can be connected. `all` and `shared_only`
            connect through Base44's OAuth app with `integration_type`.
            `byo_shared_only` and `byo_shared_and_app_user` need a workspace
            connector with the workspace's own OAuth app, sent as
            `connector_id`. `app_user_only`, `all`, and
            `byo_shared_and_app_user` also let each of the app's users connect
            their own account.
          default: all
          example: all
        subtitle:
          anyOf:
            - type: string
            - type: 'null'
          title: Subtitle
          description: Short tagline, or `null` if the connector has none.
          example: Manage your schedule and calendar events.
        category:
          type: string
          title: Category
          description: Group the connector is listed under.
          default: Other
          example: Project Management
        display_status:
          type: string
          title: Display Status
          description: >-
            Release stage of the connector. One of `active`, `beta`, or
            `coming_soon`.
          default: active
          example: active
        icon_svg:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon Svg
          description: The connector's logo as inline SVG markup, or `null` if it has none.
          example: >-
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24
            24">...</svg>
        release_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Release Date
          description: >-
            When the connector was released, in `YYYY-MM-DD` format, or `null`
            if unknown.
          example: '2025-11-30'
        popularity:
          type: integer
          title: Popularity
          description: >-
            Ranking hint where a lower number is more prominent, starting at 1.
            `0` means the connector has no rank.
          default: 0
          example: 2
        catalog_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Catalog Order
          description: >-
            Position in the catalog, or `null` for connectors listed after the
            ordered ones.
          example: 5
        example_scopes:
          items:
            type: string
          type: array
          title: Example Scopes
          description: Scopes an app typically asks for.
          default: []
          example:
            - https://www.googleapis.com/auth/calendar.readonly
        access_modes:
          anyOf:
            - $ref: '#/components/schemas/_AccessModesView'
            - type: 'null'
          description: >-
            Scope sets for read-only and full access, or `null` if the connector
            doesn't offer the choice.
          example:
            full_access:
              - https://www.googleapis.com/auth/calendar.readonly
              - https://www.googleapis.com/auth/calendar.events
            read_only:
              - https://www.googleapis.com/auth/calendar.readonly
        example_prompts:
          items:
            type: string
          type: array
          title: Example Prompts
          description: Sample requests to the app's AI chat that use the connector.
          default: []
          example:
            - Sync all my bookings directly to my Google Calendar.
        is_public_client:
          type: boolean
          title: Is Public Client
          description: >-
            Whether the provider's OAuth app authenticates with a client ID
            alone (`true`), so a workspace connector needs no client secret, or
            also needs a secret (`false`).
          default: false
          example: false
        supports_base44_app_user:
          type: boolean
          title: Supports Base44 App User
          description: >-
            Whether the app's users can connect their own accounts through
            Base44's OAuth app (`true`) or only through the workspace's own
            (`false`).
          default: false
          example: false
        base44_app_user_allowed_scopes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Base44 App User Allowed Scopes
          description: >-
            Scopes Base44's OAuth app can grant the app's users, or `null` when
            it sets no limit.
          example:
            - https://www.googleapis.com/auth/calendar.readonly
      type: object
      required:
        - integration_type
        - display_name
        - description
        - connection_config_fields
      title: IntegrationTypeInfo
    ConnectionConfigField:
      properties:
        name:
          type: string
          title: Name
          description: Key to send the value under in `connection_config`.
          example: subdomain
        display_name:
          type: string
          title: Display Name
          description: Label for the value.
          default: ''
          example: Snowflake account subdomain
        description:
          type: string
          title: Description
          description: Help text that explains where to find the value.
          default: ''
          example: The part of your Snowflake URL before .snowflakecomputing.com.
        placeholder:
          type: string
          title: Placeholder
          description: Sample value to show in an empty input.
          default: ''
          example: acme-prod
        required:
          type: boolean
          title: Required
          description: >-
            Whether the value has to be sent (`true`) or can be left out
            (`false`).
          default: true
          example: true
        default_value:
          anyOf:
            - type: string
            - type: 'null'
          title: Default Value
          description: Value used when the field is left out, or `null` if there is none.
          example: login
        validation_pattern:
          anyOf:
            - type: string
            - type: 'null'
          title: Validation Pattern
          description: >-
            Regular expression the whole value has to match, or `null` if any
            value is accepted.
          example: ^[a-zA-Z0-9-]+$
        validation_error:
          anyOf:
            - type: string
            - type: 'null'
          title: Validation Error
          description: >-
            Message returned when the value doesn't match `validation_pattern`,
            or `null` for the default message.
          example: Use letters, digits, and hyphens only.
      type: object
      required:
        - name
      title: ConnectionConfigField
      description: Schema for a connection configuration field.
    ConnectorMode:
      type: string
      enum:
        - all
        - shared_only
        - app_user_only
        - byo_shared_only
        - byo_shared_and_app_user
      title: ConnectorMode
      description: Which ways a connector can be connected.
    _AccessModesView:
      properties:
        read_only:
          items:
            type: string
          type: array
          title: Read Only
          description: Scopes to ask for when the app only needs to read.
          example:
            - https://www.googleapis.com/auth/calendar.readonly
        full_access:
          items:
            type: string
          type: array
          title: Full Access
          description: Scopes to ask for when the app also needs to make changes.
          example:
            - https://www.googleapis.com/auth/calendar.readonly
            - https://www.googleapis.com/auth/calendar.events
      type: object
      required:
        - read_only
        - full_access
      title: _AccessModesView
      description: Read-only / full-access scope groupings exposed via the catalog API.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````