Bytebase

Bytebase is a database DevOps and CI/CD platform - the GitOps-style control plane for schema change, migration, and access management across MySQL, PostgreSQL, and many other engines. Every action in the web console is backed by a documented API exposed as both Connect/gRPC and RESTful HTTP (gRPC transcoding), authenticated with a service-account Bearer token. Bytebase ships as free, self-hostable open source (OSS) with paid Pro and Enterprise tiers.

8 APIs 0 Features
DatabaseDevOpsSchema MigrationCI/CDDevSecOps

APIs

Bytebase Instances API

Register, list, update, and sync the database instances (and their data sources) that Bytebase manages, plus list the databases discovered on each instance.

Bytebase Databases API

Read and update databases, fetch live schema and metadata, list changelogs, diff schemas, and trigger synchronization for databases tracked by Bytebase.

Bytebase Projects API

Create, list, update, and delete projects - the organizational units that group databases, members, and database-change workflows in Bytebase.

Bytebase Issues / Migrations API

Create and track schema-change and data-change issues (the migration review unit in Bytebase), drive approval flows (approve, reject, request), and manage issue comments. Plans ...

Bytebase Rollouts API

Execute the plan behind an issue by creating and managing rollouts and their tasks - run, skip, or cancel tasks across stages and inspect task-run logs.

Bytebase Sheets API

Create and retrieve sheets - the SQL statements / scripts that back plan specs, migrations, and ad-hoc work in a project.

Bytebase Users / Roles API

Manage user accounts (including service accounts), custom roles, and user groups that drive role-based access control across the Bytebase workspace.

Bytebase Webhooks API

Add, update, remove, and test project webhooks that push Bytebase events (issue and rollout activity) to Slack, Discord, Teams, Lark, DingTalk, WeCom, or a custom endpoint.

Collections

Pricing Plans

Bytebase Plans Pricing

3 plans

PLANS

Rate Limits

Bytebase Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Bytebase API
  version: v1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Auth
    type: folder
  items:
  - info:
      name: Login (service account)
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/auth/login'
      body:
        type: json
        data: "{\n  \"email\": \"my-service-account@service.bytebase.com\",\n  \"password\": \"{{serviceKey}}\",\n  \"web\"\
          : true\n}"
    docs: Exchange service-account credentials for a Bearer access token.
- info:
    name: Instances
    type: folder
  items:
  - info:
      name: List instances
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/instances'
    docs: List database instances.
  - info:
      name: Create instance
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/instances?instanceId=prod-mysql'
      body:
        type: json
        data: '{}'
    docs: Register a database instance.
  - info:
      name: Get instance
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/instances/prod-mysql'
    docs: Get a single instance.
  - info:
      name: List instance databases
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/instances/prod-mysql/databases'
    docs: List databases discovered on an instance.
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: List projects
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/projects'
    docs: List projects.
  - info:
      name: Get project
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/projects/project-sample'
    docs: Get a project.
- info:
    name: Issues / Migrations
    type: folder
  items:
  - info:
      name: List issues
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/projects/project-sample/issues'
    docs: List issues in a project.
  - info:
      name: Create issue
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/issues'
      body:
        type: json
        data: '{}'
    docs: Create a schema-change / data-change issue.
  - info:
      name: Approve issue
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/issues/123:approve'
      body:
        type: json
        data: "{\n  \"comment\": \"LGTM\"\n}"
    docs: Approve an issue at the current approval step.
- info:
    name: Plans
    type: folder
  items:
  - info:
      name: Create plan
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/plans'
      body:
        type: json
        data: '{}'
    docs: Create a plan describing proposed changes.
- info:
    name: Rollouts
    type: folder
  items:
  - info:
      name: Create rollout
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/rollouts'
      body:
        type: json
        data: '{}'
    docs: Create a rollout to execute a plan.
  - info:
      name: Get rollout
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/projects/project-sample/rollouts/123'
    docs: Get a rollout and its stages/tasks.
- info:
    name: Sheets
    type: folder
  items:
  - info:
      name: Create sheet
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/sheets'
      body:
        type: json
        data: '{}'
    docs: Create a sheet (SQL statement) in a project.
- info:
    name: Users / Roles
    type: folder
  items:
  - info:
      name: List users
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/users'
    docs: List users.
  - info:
      name: List roles
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/roles'
    docs: List custom and predefined roles.
  - info:
      name: List groups
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/groups'
    docs: List user groups.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Add project webhook
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/projects/project-sample/webhooks'
      body:
        type: json
        data: "{\n  \"type\": \"SLACK\",\n  \"title\": \"deploy-alerts\",\n  \"url\": \"https://hooks.slack.com/services/xxx\"\
          \n}"
    docs: Add a webhook to a project.