Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt

Use this file to discover all available pages before exploring further.

The Git Providers API manages OAuth and token-based connections to your source code hosting platforms. Once a provider is connected, you can list repositories and branches, link them to applications or Compose stacks, and enable automatic deployments triggered by webhooks. Dokploy supports GitHub (via OAuth App or GitHub App), GitLab, Bitbucket, and self-hosted Gitea instances.

Endpoints

MethodEndpointDescription
GET/gitProvider.getAllList all connected Git providers
POST/gitProvider.removeRemove a Git provider connection
GET/github.oneFetch a GitHub provider by ID
GET/github.getGithubRepositoriesList repositories for a GitHub account
GET/github.getGithubBranchesList branches for a GitHub repository
GET/github.githubProvidersList all configured GitHub providers
POST/github.testConnectionTest a GitHub provider connection
POST/github.updateUpdate a GitHub provider
POST/gitlab.createCreate a GitLab provider
GET/gitlab.oneFetch a GitLab provider by ID
GET/gitlab.gitlabProvidersList all configured GitLab providers
GET/gitlab.getGitlabRepositoriesList GitLab repositories
GET/gitlab.getGitlabBranchesList branches for a GitLab repository
POST/gitlab.testConnectionTest a GitLab provider connection
POST/gitlab.updateUpdate a GitLab provider
POST/bitbucket.createCreate a Bitbucket provider
GET/bitbucket.oneFetch a Bitbucket provider by ID
GET/bitbucket.bitbucketProvidersList all configured Bitbucket providers
GET/bitbucket.getBitbucketRepositoriesList Bitbucket repositories
GET/bitbucket.getBitbucketBranchesList branches for a Bitbucket repository
POST/bitbucket.testConnectionTest a Bitbucket provider connection
POST/bitbucket.updateUpdate a Bitbucket provider
POST/gitea.createCreate a Gitea provider
GET/gitea.oneFetch a Gitea provider by ID
GET/gitea.giteaProvidersList all configured Gitea providers
GET/gitea.getGiteaRepositoriesList Gitea repositories
GET/gitea.getGiteaBranchesList branches for a Gitea repository
POST/gitea.testConnectionTest a Gitea provider connection
POST/gitea.updateUpdate a Gitea provider
GET/gitea.getGiteaUrlGet the configured Gitea instance URL

Key Endpoints

POST /gitlab.create

Register a GitLab provider using a Personal Access Token or OAuth token.
name
string
required
Display name for this GitLab connection.
gitlabUrl
string
required
GitLab instance URL (e.g., https://gitlab.com or your self-hosted URL).
accessToken
string
required
GitLab Personal Access Token with read_api and read_repository scopes.
refreshToken
string
OAuth refresh token (if using OAuth flow).
groupName
string
Optional GitLab group or namespace to scope repository listing.
gitlabId
string
Unique ID of the created GitLab provider.
curl -X POST 'https://your-instance.com/api/gitlab.create' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "My GitLab",
    "gitlabUrl": "https://gitlab.com",
    "accessToken": "glpat-xxxxxxxxxxxxxxxxxxxx"
  }'

POST /bitbucket.create

Register a Bitbucket Cloud provider using App Password credentials.
name
string
required
Display name for this Bitbucket connection.
username
string
required
Bitbucket account username.
appPassword
string
required
Bitbucket App Password with repository:read permission.
bitbucketId
string
Unique ID of the created Bitbucket provider.
curl -X POST 'https://your-instance.com/api/bitbucket.create' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "My Bitbucket",
    "username": "myusername",
    "appPassword": "ATBBxxxxxxxxxxxxxxxx"
  }'

GET /github.getGithubRepositories

List all repositories accessible to a configured GitHub provider.
githubId
string
required
ID of the GitHub provider.
page
number
Page number for pagination (default: 1).
repositories
array
List of repository objects.
repositories[].name
string
Repository name.
repositories[].full_name
string
Full name including the owner (e.g., owner/repo).
repositories[].private
boolean
Whether the repository is private.
curl -G 'https://your-instance.com/api/github.getGithubRepositories' \
  -H 'x-api-key: YOUR_API_KEY' \
  --data-urlencode 'githubId=gh_abc123' \
  --data-urlencode 'page=1'

GET /github.getGithubBranches

List all branches for a specific GitHub repository.
repo
string
required
Repository name (without owner, e.g., my-app).
owner
string
required
Repository owner (username or organization).
githubId
string
required
ID of the GitHub provider.
curl -G 'https://your-instance.com/api/github.getGithubBranches' \
  -H 'x-api-key: YOUR_API_KEY' \
  --data-urlencode 'repo=my-app' \
  --data-urlencode 'owner=myorg' \
  --data-urlencode 'githubId=gh_abc123'

POST /gitea.create

Register a self-hosted Gitea instance as a Git provider.
name
string
required
Display name for this Gitea connection.
giteaUrl
string
required
URL of the Gitea instance (e.g., https://git.example.com).
accessToken
string
required
Gitea Personal Access Token.
giteaId
string
Unique ID of the created Gitea provider.
curl -X POST 'https://your-instance.com/api/gitea.create' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Self-hosted Gitea",
    "giteaUrl": "https://git.example.com",
    "accessToken": "xxxxxxxxxxxxxxxxxx"
  }'

Notes

GitHub providers are configured via the Dokploy dashboard OAuth flow (GitHub App or OAuth App). Use the API to list, test, and update existing providers — not to create new ones from scratch.
After creating a provider, call the matching testConnection endpoint to verify credentials are valid before linking repositories to services.

Build docs developers (and LLMs) love