> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datris.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Enable a catalog's taps in dependency order

> Starts one server-side job that walks the catalog's enable order (see `GET /api/v1/catalog/{name}/enable-order`) level by level, one tap at a time. Per tap: if any of its dependencies failed, was skipped or cancelled, or has not landed data, the tap is `skipped` with the reason; otherwise it is tested when it has no passing test (a failed test marks it `failed`), enabled (the test-before-cron gate applies; a refusal marks it `failed` with that text), given one real run (an error or zero records marks it `failed`) and the job waits until the run's pipeline loads have finished (`success`/`warning` = `landed`, `error` = `failed`, no finish within `datris.catalog.enableWaitMs`, default 30 minutes = `failed`). A tap that was already enabled with landed data is not re-run. No request body. Requires `tap:run`; the key must also hold `tap:update` and `tap:run` for every member tap (owner and catalog scope), otherwise 403 and nothing starts. Agent policy action `tap:run:enable-ordered` (inherits `tap:run`): an approval covers the whole job.




## OpenAPI

````yaml /openapi.yaml post /api/v1/catalog/{name}/enable-ordered
openapi: 3.0.3
info:
  title: Datris API
  description: >
    REST API for the Datris AI Data Platform. Ingest, validate, transform,
    store, and retrieve data.


    For AI agent integration, use the [MCP
    Server](https://docs.datris.ai/mcp-server) instead.
  version: 1.28.0
  contact:
    name: Datris
    url: https://datris.ai
  license:
    name: Apache 2.0
servers:
  - url: http://localhost:8080
    description: Local development
security:
  - ApiKeyAuth: []
paths:
  /api/v1/catalog/{name}/enable-ordered:
    post:
      tags:
        - Pipelines
      summary: Enable a catalog's taps in dependency order
      description: >
        Starts one server-side job that walks the catalog's enable order (see
        `GET /api/v1/catalog/{name}/enable-order`) level by level, one tap at a
        time. Per tap: if any of its dependencies failed, was skipped or
        cancelled, or has not landed data, the tap is `skipped` with the reason;
        otherwise it is tested when it has no passing test (a failed test marks
        it `failed`), enabled (the test-before-cron gate applies; a refusal
        marks it `failed` with that text), given one real run (an error or zero
        records marks it `failed`) and the job waits until the run's pipeline
        loads have finished (`success`/`warning` = `landed`, `error` = `failed`,
        no finish within `datris.catalog.enableWaitMs`, default 30 minutes =
        `failed`). A tap that was already enabled with landed data is not
        re-run. No request body. Requires `tap:run`; the key must also hold
        `tap:update` and `tap:run` for every member tap (owner and catalog
        scope), otherwise 403 and nothing starts. Agent policy action
        `tap:run:enable-ordered` (inherits `tap:run`): an approval covers the
        whole job.
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
          description: Catalog name. `Uncataloged` (any case) is refused.
      responses:
        '202':
          description: The job started
          content:
            application/json:
              schema:
                type: object
                properties:
                  jobId:
                    type: string
                  catalog:
                    type: string
                  plan:
                    type: object
                    description: >-
                      The enable order the job walks (`levels` and `cycles`, as
                      in `GET .../enable-order`).
        '400':
          description: Reserved or blank catalog name, or the catalog has no taps
        '403':
          description: >-
            The key may not update or run one of the member taps. Body:
            `{"error": "capability denied", "errorKind": "capability_denied",
            "message": ...}`
        '404':
          description: No tap, pipeline or placeholder carries this catalog
        '409':
          description: >-
            A job for this catalog is already running, or the taps have a
            dependency cycle (`{"error": ..., "cycles": [[...]]}`)
        '500':
          description: Error
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Optional API key for authentication (enabled via application.yaml)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.