---
title: "Add data-export destination"
method: POST
path: "/api/v1/data-export/destinations"
tags: ["Data Export"]
---

# Add data-export destination

`POST /api/v1/data-export/destinations`

Register a destination on the environment's DATA_EXPORT integration. Lazy-creates the integration row + provider recipient on first call. Idempotent on destinationId.

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Request body

- AddDataExportDestinationRequestDto — Register a destination on the env DATA_EXPORT integration.
  - `destinationType` string, required — The destination type (e.g. snowflake, bigquery)
  - `destinationId` string, required — The provider destination ID returned by the embedded SDK on connect
  - `enabledModels` string[]

## Response `200`

Current list of destinations under the DATA_EXPORT integration.

- DataExportDestinationListResponseDto — Response object
  - `data` object, required — Current destinations under the DATA_EXPORT integration.
    - `destinations` object[], required — Current destinations under the DATA_EXPORT integration
      - `type` string, required — Destination type (snowflake, bigquery, ...)
      - `connectedAt` string, required — ISO8601 timestamp of when the destination was connected
      - `destinationId` string, required — Provider destination ID
      - `connectionStatus` string — Connection status of the destination (connected, failed)
      - `lastSyncStatus` object — Latest sync snapshot for the destination, refreshed by the provider webhook
        - `transferId` string, required — Provider transfer ID of the latest sync
        - `status` string, required — Sync status (PENDING, RUNNING, INCOMPLETE, FAILED, SUCCEEDED, CANCELLED)
        - `finishedAt` string, required — ISO8601 timestamp of when the latest sync finished
        - `rowsTransferred` number — Number of rows transferred in the latest sync
        - `blamedParty` string — Party responsible for a failed sync, as reported by the data-export provider
        - `failureMessage` string — Customer-friendly failure message, when the latest sync failed
      - `enabledModels` string[]

## Other responses

- `400` — bad request.
- `401` — User is not authenticated.
- `403` — User is not allowed to access this resource.
- `404` — DataExport not found.
- `429` — Too many requests.

## Changes

- **2026-07-28** `913f273cc2f7` — 1 warning
  - added the new `ContractNotFound` enum value to the `code` response property for the response status `404`
- **2026-07-23** `b876edd1a4fc` — 5 warning
  - added the new `CreditOveragePriceCurrencyNotFound` enum value to the `code` response property for the response status `400`
  - added the new `InvalidCreditOverageBillingModel` enum value to the `code` response property for the response status `400`
  - added the new `InvoicePreviewNotAvailableForDraftContract` enum value to the `code` response property for the response status `400`
  - added the new `OveragePriceNotSupportedOnAddon` enum value to the `code` response property for the response status `400`
  - …1 more
- **2026-07-08** `58bb216ff8ce` — 1 warning
  - added the new `GovernanceNotEnabled` enum value to the `code` response property for the response status `403`
- **2026-06-21** `13a11471d279` — 2 info
  - added the new optional request property `enabledModels`
  - added the optional property `data/destinations/items/enabledModels` to the response with the `200` status
- **2026-06-10** `2ecdbf877f12` — 2 info
  - added the new optional `header` request parameter `X-ACCOUNT-ID`
  - added the new optional `header` request parameter `X-ENVIRONMENT-ID`

[Full history](https://skmtc.dev/stiggio/apis/stigg-api/changes/api/v1/data-export/destinations/post.md)

---

[API](https://skmtc.dev/stiggio/apis/stigg-api.md) · [All operations](https://skmtc.dev/stiggio/apis/stigg-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stiggio/stigg-api/revisions/3e2c8cfcd035/schema)
