DoltHub API v2#

API version: v2

The v2 API is the current generation of the DoltHub HTTP surface. Every endpoint lives under https://www.dolthub.com/api/v2/.

Note: please send requests to https://www.dolthub.com, not https://dolthub.com.

Compared to v1alpha1, v2 commits to:

  • Consistent HTTP semantics (correct status codes, idempotent GETs, etc.)
  • A single error model (RFC 9457 problem details)
  • A uniform success Envelope wrapping every response
  • A standardized long-running operations protocol for async mutations

All endpoints#

User#

MethodPathWhat it does
GET/api/v2/userGet the authenticated user

Database#

MethodPathWhat it does
POST/api/v2/databasesCreate a database
GET/api/v2/databases/{owner}/{database}Get a database
GET/api/v2/databases/{owner}/{database}/branchesList branches
POST/api/v2/databases/{owner}/{database}/branchesCreate a branch
GET/api/v2/databases/{owner}/{database}/tagsList tags
POST/api/v2/databases/{owner}/{database}/tagsCreate a tag
GET/api/v2/databases/{owner}/{database}/forksList forks
POST/api/v2/databases/{owner}/{database}/forksFork a database
GET/api/v2/databases/{owner}/{database}/releasesList releases
POST/api/v2/databases/{owner}/{database}/releasesCreate a release
GET/api/v2/databases/{owner}/{database}/sqlRun a read-only SQL query
POST/api/v2/databases/{owner}/{database}/sqlRun a read-only SQL query (large-query variant)
GET/api/v2/databases/{owner}/{database}/pullsList pull requests
POST/api/v2/databases/{owner}/{database}/pullsCreate a pull request
GET/api/v2/databases/{owner}/{database}/pulls/{pull_number}Get a pull request
PATCH/api/v2/databases/{owner}/{database}/pulls/{pull_number}Update a pull request
GET/api/v2/databases/{owner}/{database}/pulls/{pull_number}/commentsList pull request comments
POST/api/v2/databases/{owner}/{database}/pulls/{pull_number}/commentsAdd a pull request comment
POST/api/v2/databases/{owner}/{database}/pulls/{pull_number}/mergeMerge a pull request
POST/api/v2/databases/{owner}/{database}/imports/uploadsInitialize a multipart upload
POST/api/v2/databases/{owner}/{database}/importsCreate an import operation

Operations#

MethodPathWhat it does
GET/api/v2/databases/{owner}/{database}/operationsList a database’s async operations
GET/api/v2/operations/{operation_id}Get an async operation