Apidog can connect to GitHub Enterprise Cloud data-residency tenants hosted on dedicated *.ghe.com domains. After an Organization Admin configures the tenant and OAuth App, authorized project users can connect repositories and use supported OpenAPI import, backup, and synchronization workflows.
This integration is for GitHub Enterprise Cloud data-residency SaaS tenants. It does not support GitHub Enterprise Server or arbitrary custom GitHub domains.
Before you start
You need:
- an Apidog Enterprise organization with access to the integration
- Organization Admin permission in Apidog
- a GitHub Enterprise Cloud data-residency tenant on a root
*.ghe.comdomain, such ashttps://company.ghe.com - permission to create an OAuth App on that tenant
- access to the GitHub organizations, repositories, and branches you plan to connect
Users who connect repositories must also have the relevant project-level Git connection permission in Apidog.
Step 1: Create an OAuth App on the GHE.com tenant
- Sign in to your organization's GHE.com tenant.
- Open the OAuth Apps settings.
- Create a new OAuth App.
- Enter an identifiable application name.
- Set the homepage URL to:
https://apidog.com - Set the authorization callback URL to:
https://api.apidog.com/passport/github/callback - Register the OAuth App.
- Copy the Client ID.
- Generate and securely copy the Client Secret.
The callback URL must match the documented Apidog URL exactly.
Store the Client Secret in your approved secret-management system. Do not place it in a screenshot, ticket, or shared document.
Step 2: Configure the GHE.com tenant in Apidog
Only an Organization Admin can configure or clear this integration.
- Open the Apidog organization.
- Go to Organization Settings.
- Open GitHub Integration.
- Find GitHub Enterprise Cloud Data Residency and select Configure.
- Enter the GHE.com host URL, for example
https://company.ghe.com. - Select OAuth App as the authentication method.
- Enter the OAuth App Client ID.
- Enter the OAuth App Client Secret.
- Save the configuration.
Configure the tenant host and OAuth App credentials at the organization level.
After saving, Apidog displays the configured host URL. The Client Secret is not shown or prefilled again.
When editing the configuration later, leaving the Client Secret field empty keeps the existing secret. Enter a new value only when rotating it.
Step 3: Connect a repository from an Apidog project
After the organization-level configuration is complete:
- open the required Apidog project;
- start a Git connection or Git import workflow;
- select GitHub Enterprise Cloud;
- continue to the authorization page on the configured GHE.com tenant;
- sign in and authorize the OAuth App;
- select the GitHub organization;
- select the repository and branch;
- complete the connection.
Authorization is performed on the configured GHE.com tenant, not on standard github.com.
If the expected organization or repository is missing, check the GitHub account's access and the OAuth App authorization before changing the Apidog organization settings.
Step 4: Import an OpenAPI file
To import an OpenAPI or Swagger file from the connected repository:
- start an import workflow in the Apidog project;
- choose OpenAPI/Swagger;
- select Git Repository;
- choose the GitHub organization, repository, branch, and file;
- select Continue;
- choose an existing target Module or create a new one;
- complete the import;
- review the imported endpoints and schemas before accepting the result.
Select the repository, branch, and specification file required by the project.
Use a non-production project for the first import, especially when the target module already contains API definitions.
Step 5: Choose the ongoing synchronization workflow
The repository connection can support different workflows. Choose one source of truth and document it for the team.
| Workflow | Use it when | Important behavior |
|---|---|---|
| Manual import | Changes are brought into Apidog only when requested | Review each import and target module |
| Scheduled Import | The Git file remains the source and Apidog should refresh it at an interval | Runs through the local client or a self-hosted Runner according to the configured execution mode |
| Backup to Git | Apidog content should be written to a repository file | Configure the repository, branch, and target file path; automatic backups run during a randomly scheduled off-peak period at night |
| Spec-first Mode | The specification file is the source of truth and the team edits through a Git-oriented workflow | This mode is currently beta; webhook installation usually requires repository admin permission |
Do not configure two opposing automated workflows against the same file without a clear conflict-resolution rule.
For backup:
- create or select the Git connection in project settings;
- open the module's Overview > API Specification;
- add or select the OpenAPI specification;
- enable Backup to Git Repository;
- choose the repository connection, branch, and target file path;
- save the configuration.
For a repository-driven source of truth, use Scheduled Import or review Spec-first Mode.
Step 6: Verify the integration
Run a small end-to-end test:
- confirm authorization opens the configured GHE.com tenant
- confirm only expected organizations and repositories are available
- import a known OpenAPI file and compare the result with the source
- test the selected backup or synchronization direction in a disposable branch
- confirm branch protection and repository permissions behave as expected
- review sync logs or errors
- rotate the OAuth App Client Secret and confirm the documented update process works
If webhook synchronization is used, verify that the installer has repository admin permission and that the expected push event triggers synchronization.
Update or clear the organization settings
Organization Admins can edit the host URL or Client ID and can rotate the Client Secret by entering a new value.
To remove the organization-level configuration, open Organization Settings > GitHub Integration, find the data-residency integration, and select Clear settings.
After the settings are cleared, users cannot create new GitHub Enterprise Cloud connections until the integration is configured again. Existing connections may require reconfiguration or reauthorization depending on token status and organization settings.
Troubleshooting
| Problem | What to check |
|---|---|
| The integration option is unavailable | Confirm the organization has access to the Enterprise feature and that you are an Organization Admin. |
| OAuth returns a callback error | Confirm the OAuth App callback is exactly https://api.apidog.com/passport/github/callback. |
| Authorization opens github.com | Confirm the organization-level host is the intended root *.ghe.com tenant. |
| A repository is missing | Check the authorized GitHub user's organization and repository access and any OAuth restrictions. |
| A project user cannot create a connection | Confirm the user has the required project-level Git connection permission. |
| Import or sync fails | Check the selected branch, file path, file format, repository permissions, and sync logs. |
Security and data-residency boundaries
- Only Organization Admins can configure or clear the GHE.com integration.
- The Client Secret is not displayed after configuration.
- Project permissions still control who can create or update Git connections.
- OAuth authorization occurs through the configured GHE.com tenant.
- Requested OAuth permissions can include access needed to read organizations, repositories, branches, import files, write backups, and manage repository hooks when required by a synchronization workflow.
Connecting a data-residency tenant does not by itself prove that every category of GitHub or Apidog-related data remains in one region. GitHub documents the data covered by its residency offering and relevant exceptions. Apidog is a separate connected service with its own storage and deployment model. Review both vendors' current documentation as part of a data-residency or compliance assessment.
Related API governance tutorials:
These tutorials cover complementary controls for governing an enterprise API workspace:
- API Governance Framework — connect ownership, controls, evidence, and lifecycle decisions.
- SAML Group Mapping with Microsoft Entra ID — assign team access from identity-provider groups.
- Secret Scanner — review possible exposed credentials in supported Apidog assets.
- Audit Logs — investigate and export administrative organization activity.
- SCIM Provisioning — manage organization users through the identity lifecycle.
- Enterprise Policies — configure credential, membership, SSO-session, and invitation controls.
- Self-Service API Teams — allow member-created teams while retaining ownership oversight.
- GitHub Enterprise Cloud Integration — connect supported GHE.com repositories for OpenAPI workflows.
Related official documentation:



