> ## 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.

# Export a catalog as a zip backup

> Downloads one zip archive of the catalog: `manifest.json`, `taps/<name>.json` (run status, ownership, timestamps and script references cleared), `taps/<name>.py` (each Python tap's script), `taps/<name>.state.json` (incremental state, when the tap has any), `pipelines/<name>.json`, `pipelines/<name>/validation-schema/<file>` (a referenced validation schema) and `pipelines/<name>/codegen/<kind>.py` (CodeGen scripts, reference copies only). Placeholders are never exported. Secret values are never in the archive: `manifest.requiredSecrets` lists each secret name, the items using it and its type. `manifest.warnings` names members the key may not read (omitted from the archive, never a 403 for the whole export), scripts or schemas that could not be read, taps whose state was included, and install-specific values copied verbatim (object-store endpoint, bucket override, warehouse, absolute `s3://` validation schema), and every inline credential removed from a pipeline (preprocessor and REST destination `bearerToken`/`apiKey`, `restEndpoint` row-function token parameters). The manifest carries `formatVersion: 1`. Requires `pipeline:read`; each member is also checked against the key's owner and catalog scopes as `tap:read` / `pipeline:read`.




## OpenAPI

````yaml /openapi.yaml get /api/v1/catalog/{name}/export
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}/export:
    get:
      tags:
        - Pipelines
      summary: Export a catalog as a zip backup
      description: >
        Downloads one zip archive of the catalog: `manifest.json`,
        `taps/<name>.json` (run status, ownership, timestamps and script
        references cleared), `taps/<name>.py` (each Python tap's script),
        `taps/<name>.state.json` (incremental state, when the tap has any),
        `pipelines/<name>.json`, `pipelines/<name>/validation-schema/<file>` (a
        referenced validation schema) and `pipelines/<name>/codegen/<kind>.py`
        (CodeGen scripts, reference copies only). Placeholders are never
        exported. Secret values are never in the archive:
        `manifest.requiredSecrets` lists each secret name, the items using it
        and its type. `manifest.warnings` names members the key may not read
        (omitted from the archive, never a 403 for the whole export), scripts or
        schemas that could not be read, taps whose state was included, and
        install-specific values copied verbatim (object-store endpoint, bucket
        override, warehouse, absolute `s3://` validation schema), and every
        inline credential removed from a pipeline (preprocessor and REST
        destination `bearerToken`/`apiKey`, `restEndpoint` row-function token
        parameters). The manifest carries `formatVersion: 1`. Requires
        `pipeline:read`; each member is also checked against the key's owner and
        catalog scopes as `tap:read` / `pipeline:read`.
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
          description: Catalog name. `Uncataloged` (any case) is refused.
      responses:
        '200':
          description: >-
            The archive. `Content-Disposition` is `attachment;
            filename="<name>-<yyyyMMdd-HHmm>.zip"`.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          description: Reserved or blank catalog name
        '404':
          description: No tap, pipeline or placeholder carries this catalog
        '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.