> ## 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.

# Disconnect a GitHub repository

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

Disconnects the app from its GitHub repository. The repository itself stays on GitHub, untouched.

Only the app's owner or the user who connected the repository can disconnect it, and the workspace plan has to include the GitHub integration.

Base44 first copies the repository's current code into its own storage, and the app carries on from that version. If the copy fails, the app stays connected and you can retry. Base44 then stops syncing and tries to remove the webhook it installed on the repository. A webhook it can't remove no longer affects the app. The response comes back only after all of that finishes.

Afterwards [Get GitHub connection](/api-reference/get-github-connection) reports `connected: false` and names the repository in `previous_repository`. Bring it back with [Reconnect a GitHub repository](/api-reference/reconnect-a-github-repository). Connecting a different repository with [Connect a GitHub repository](/api-reference/connect-a-github-repository) replaces the previous one, and it can't be reconnected after that.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json delete /api/apps/{app_id}/github/disconnect
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/github/disconnect:
    delete:
      summary: Disconnect a GitHub repository
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Disconnects the app from its GitHub repository. The repository itself
        stays on GitHub, untouched.


        Only the app's owner or the user who connected the repository can
        disconnect it, and the workspace plan has to include the GitHub
        integration.


        Base44 first copies the repository's current code into its own storage,
        and the app carries on from that version. If the copy fails, the app
        stays connected and you can retry. Base44 then stops syncing and tries
        to remove the webhook it installed on the repository. A webhook it can't
        remove no longer affects the app. The response comes back only after all
        of that finishes.


        Afterwards [Get GitHub connection](/api-reference/get-github-connection)
        reports `connected: false` and names the repository in
        `previous_repository`. Bring it back with [Reconnect a GitHub
        repository](/api-reference/reconnect-a-github-repository). Connecting a
        different repository with [Connect a GitHub
        repository](/api-reference/connect-a-github-repository) replaces the
        previous one, and it can't be reconnected after that.
      operationId: disconnect_repository_api_apps__app_id__github_disconnect_delete
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app to disconnect from its GitHub repository.
            title: App Id
          description: ID of the app to disconnect from its GitHub repository.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app was disconnected from its repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectResponse'
        '400':
          description: The app has no active GitHub connection.
        '401':
          description: Missing or invalid credentials.
        '402':
          description: Your workspace plan doesn't include the GitHub integration.
        '403':
          description: >-
            You don't have access to this app, you're neither its owner nor the
            user who connected the repository, or you used a workspace API key.
        '404':
          description: App not found.
        '409':
          description: >-
            The app is busy with another operation. Wait for it to finish and
            try again.
components:
  schemas:
    DisconnectResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: >-
            Whether the app was disconnected. Always `true`, because a
            disconnect that fails returns an error instead.
          example: true
      type: object
      required:
        - success
      title: DisconnectResponse
      description: Result of disconnecting the app from its GitHub repository.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````