dbt

dbt Cloud Administrative API

The dbt Cloud Administrative API manages accounts, projects, jobs, runs, environments, and other resources. It is the primary integration point for external orchestrators (Airflow, Dagster, Prefect) and for Terraform-based management of dbt Cloud configuration.

OpenAPI Specification

dbt-cloud-administrative-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: dbt Cloud Administrative API
  description: >-
    The dbt Cloud Administrative API enables programmatic management of dbt
    Cloud accounts, projects, jobs, runs, environments, and other resources.
    The API supports automation of dbt Cloud workflows and integration with
    external orchestration tools.
  version: "3"
  contact:
    name: dbt Labs Support
    url: https://www.getdbt.com/community
servers:
  - url: https://cloud.getdbt.com/api/v3
    description: Multi-tenant production
  - url: https://cloud.getdbt.com/api/v2
    description: Legacy v2 API
tags:
  - name: Accounts
  - name: Projects
  - name: Jobs
  - name: Runs
  - name: Environments
  - name: Repositories
paths:
  /accounts/:
    get:
      summary: List accounts
      operationId: listAccounts
      tags:
        - Accounts
      responses:
        "200":
          description: A list of dbt Cloud accounts.
  /accounts/{accountId}/projects/:
    get:
      summary: List projects in an account
      operationId: listProjects
      tags:
        - Projects
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A list of projects.
  /accounts/{accountId}/projects/{projectId}/:
    get:
      summary: Get a project
      operationId: getProject
      tags:
        - Projects
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
        - in: path
          name: projectId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A project resource.
  /accounts/{accountId}/jobs/:
    get:
      summary: List jobs
      operationId: listJobs
      tags:
        - Jobs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A list of jobs.
    post:
      summary: Create a job
      operationId: createJob
      tags:
        - Jobs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
      responses:
        "201":
          description: Job created.
  /accounts/{accountId}/jobs/{jobId}/run/:
    post:
      summary: Trigger a job run
      operationId: triggerJobRun
      tags:
        - Runs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
        - in: path
          name: jobId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: Job run triggered.
  /accounts/{accountId}/runs/:
    get:
      summary: List runs
      operationId: listRuns
      tags:
        - Runs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A list of runs.
  /accounts/{accountId}/runs/{runId}/:
    get:
      summary: Get a run
      operationId: getRun
      tags:
        - Runs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
        - in: path
          name: runId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A run resource.
  /accounts/{accountId}/runs/{runId}/artifacts/:
    get:
      summary: List run artifacts
      operationId: listRunArtifacts
      tags:
        - Runs
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
        - in: path
          name: runId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A list of run artifacts (manifest.json, catalog.json, run_results.json).
  /accounts/{accountId}/environments/:
    get:
      summary: List environments
      operationId: listEnvironments
      tags:
        - Environments
      parameters:
        - in: path
          name: accountId
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: A list of environments.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Token
security:
  - bearerAuth: []