Capability Library · Pack detail

dbt v1.0.0

dbt Cloud Administrative API v2: read jobs, runs and environments, create and update job definitions, trigger job runs (deploy-equivalent), and cancel runs.

Review state: draft· Not in the distributable release manifest

Release identity

SHA-256 of the pack file bytes: 64c4891661a7955b76ad34340161629ccddf56b9052a502dfaa4acd71a47741f

Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.

Capabilities (7)

dbt.jobs.read v1.0.0R0

Action
read
Endpoint
GET https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/jobs/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

List the job definitions in the account: names, schedules, environment references and execution settings. The registered path covers the collection read only — single-job reads are not registered. ACCOUNT_ID is a placeholder the deployment binds before enabling; the host is a reserved placeholder to substitute with the account's access URL.

dbt.runs.read v1.0.0R0

Action
read
Endpoint
GET https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/runs/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

List job runs in the account: statuses, trigger causes, git references and timing. Run records can name the user or token that triggered them; this pack registers the class as internal on the deployment's account metadata — reclassify if the deployment treats trigger attribution as personal data. The registered path covers the collection read only; run artifact downloads are deliberately not registered (see the pack notes).

dbt.environments.read v1.0.0R0

Action
read
Endpoint
GET https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/environments/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

List the environments in the account: names, deployment types and connection references. The registered path covers the collection read only. Environment records reference connections but never expose the stored warehouse credentials. ACCOUNT_ID is a placeholder the deployment binds before enabling.

dbt.job.create v1.0.0R3

Actions
create, deploy
Endpoint
POST https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/jobs/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

Create one job definition. The request body is an unrestricted job spec — environment, execution steps, schedule, triggers and settings are all settable — so the registered capability carries the full create effect, and an installer's intention to create only unscheduled jobs is not a restriction the registration can enforce. A created job with an active schedule will later execute models against the data platform entirely provider-side: dbt's own scheduler fires the run, and that execution never traverses dbt.job.run.trigger or any other AAES capability, so the deploy-class effect is incurred at job-creation time and the capability declares create and deploy at the R3 floor. ACCOUNT_ID is a placeholder the deployment binds before enabling.

dbt.job.update v1.0.0R3

Actions
update, deploy
Endpoint
POST https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/jobs/JOB_ID/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

Update one job definition. The v2 API updates a job by POSTing to the job resource (not PUT or PATCH), and the body is an unrestricted job spec — steps, schedule and triggers are all rewritable — so the capability carries the full update effect, including pointing an existing scheduled job at different steps. Editing a scheduled job re-arms provider-side execution of whatever the new spec names: dbt's scheduler fires inside dbt Cloud without traversing dbt.job.run.trigger or any other AAES capability, so the capability declares update and deploy at the R3 floor. ACCOUNT_ID and JOB_ID are placeholders the deployment binds before enabling.

dbt.job.run.trigger v1.0.0R3

Action
deploy
Endpoint
POST https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/jobs/JOB_ID/run/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

Trigger a run of one job. A dbt job run compiles and executes the project's models against the target data platform — it changes what the warehouse serves — so triggering is deploy-equivalent and registers the deploy action at the R3 floor; deploy is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), and an irreversible action cannot be taken without a person. Effect-level honesty: the trigger body is unrestricted and can override the job's saved configuration (for example the git branch and the execution steps), so the governed effect is a deploy of whatever the body names, not merely the job's stored definition — an installer's intention to send an empty body is not a restriction the registration can enforce. The run is asynchronous: this call starts it, and dbt.run.cancel governs stopping it. ACCOUNT_ID and JOB_ID are placeholders the deployment binds before enabling.

dbt.run.cancel v1.0.0R3

Action
delete
Endpoint
POST https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID/runs/RUN_ID/cancel/
Connector
http
Custody
customer_vault
Credential ref
secret-ref-dbt-service-token
Data class
internal

Cancel a run that is queued or in progress. Cancellation terminates in-flight work against the data platform: steps already executed are not rolled back, the run cannot be un-cancelled (a new run is a new run, not an undo), and cancelling a production deploy mid-flight can leave models partially built — a terminate-class, high-blast-radius effect, which is why the registration declares the delete verb — cancelling destroys the run's in-flight execution irreversibly, though the run record remains in history — and sits at the R3 floor. ACCOUNT_ID and RUN_ID are placeholders the deployment binds before enabling.

Credential reference

The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.

Reference
secret-ref-dbt-service-token
Custody
customer_vault
Injection
header (Authorization)

A dbt service account token for the customer's own account, held in the client's own secret manager. The stored material must be the complete Authorization header value — scheme, one separating space, then the token — and the injector injects the stored value verbatim. Scheme honesty: the fetched user-tokens page explicitly shows personal access tokens used as 'Authorization: Bearer <your-token>'; the fetched service-tokens page does NOT state the wire scheme for service account tokens, so 'Bearer <token>' is registered here as the expected-but-unverified scheme for service tokens and must be confirmed against the live reference before enabling. Issuance: service tokens are created in Account settings > Service Tokens by an account admin, are shown only once at creation, belong to the account rather than to any user, and carry the permission sets the issuer assigns. Least privilege: assign the minimum permission sets for the capabilities actually enabled — dbt's own sets map cleanly (Read-only or Job Viewer for the reads, Job Admin for job create and update, Job Runner for triggering runs) — and scope them to specific projects rather than all projects where the deployment allows; Account Admin tokens have full read+write on the account and this pack does not need one. Expiry and revocation: the fetched documentation describes no automatic expiry — a token remains valid until it is deleted in Account settings, and dbt's rotation guidance is to create a replacement token with the same permissions, put it in place, and only then delete the old token; older tokens remain valid until deleted, so disabling the ability to create NEW tokens does NOT invalidate already-issued ones. Rotation ownership sits with an external deployment process; the executor performs no token lifecycle itself. Personal access tokens (which inherit a human user's permissions) are documented for individual use — prefer service account tokens for this integration so access does not track one employee's account. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • dbt-cloud-account (api, internal): https://dbt-cloud.invalid/api/v2/accounts/ACCOUNT_ID

Pack notes and exclusions

The endpoint host 'dbt-cloud.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the customer's own dbt access URL before enabling — dbt serves the Administrative API from the account's region-specific access URL (the default multi-tenant host is cloud.getdbt.com, and Enterprise accounts may have a different one), in every endpoint, in the resource locator and in every egress allowlist entry; the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. ACCOUNT_ID, JOB_ID and RUN_ID in the endpoint paths are placeholders the deployment binds to concrete resources before enabling. Triggering a job run is treated as deploy-equivalent in this pack: a dbt job run compiles and executes the project's models against the target data platform — it changes what the warehouse serves — so dbt.job.run.trigger registers the deploy action at the R3 floor, not as an ordinary execute. This pack registers Administrative API v2 routes only: dbt documents v3 as the recommended newer API with a smaller route set, and the deployment should re-review when migrating. The interactive v2 endpoint reference (docs.getdbt.com/dbt-cloud/api-v2) is a client-side-rendered explorer that could not be retrieved verbatim in this review session; the registered routes follow the long-documented v2 URL shapes (jobs, runs, environments, POST .../jobs/{id}/run/ to trigger, POST .../jobs/{id}/ to update, POST .../runs/{id}/cancel/ to cancel) and each route must be re-verified against the live reference before enabling — one reason this pack stays in draft state. Scheduled execution is provider-side: a job's cron schedule fires inside dbt Cloud and never traverses an AAES capability, which is exactly why job create and update themselves declare the deploy verb — dbt.job.run.trigger governs manual API triggers only. Documented exclusions — this pack does not register: service account token or personal access token issuance and deletion (credential lifecycle stays in Account settings under direct human control), user invitation and group or permission-set management, connections (which carry warehouse credentials — writing a connection writes the database sign-in itself), repository and git credential management, account settings and billing, audit-log access, run artifact downloads (artifacts contain compiled SQL and run results — sensitive payloads deserving their own review), the Discovery (metadata) API, the Semantic Layer API, and all v3 endpoints.

Review record

Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)

A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.