---
title: "The organization's warehouse export destinations: buckets, schedules, state and how far each data set has been written."
method: GET
path: "/v1/organizations/current/warehouse/destinations"
tags: ["events"]
---

# The organization's warehouse export destinations: buckets, schedules, state and how far each data set has been written.

`GET /v1/organizations/current/warehouse/destinations`

## Request

- Base URL: `https://api.50heads.com`
- URL: `https://api.50heads.com/v1/organizations/current/warehouse/destinations`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.50heads.com/authorize`, token URL `https://auth.50heads.com/token`; client credentials, token URL `https://auth.50heads.com/token`, scopes: `organization:read`)

Organization admins, or a key, connected app or service account with organization:read. Behind the `warehouseExport` flag (and the organizations flag): 404 `not_found` until it is on for your organization. Each run writes JSON lines under `<prefix><dataset>/dt=<date>/<run>-<n>.jsonl` and then a manifest at `<prefix>manifests/<time>-<run>.json` listing the files, their rows and SHA-256; load the files a manifest lists (a file with no manifest is from a run that failed and is written again). Parquet is not written. Keys are stored encrypted and never returned.

## Response `200`

OK

- WarehouseDestinationsResponse
  - `destinations` object[], required
    - `id` string, required
    - `name` string, required
    - `provider` 's3' | 'r2' | 'gcs', required
    - `bucket` string, required
    - `region` string, nullable, required
    - `accountId` string, nullable, required
    - `jurisdiction` 'default' | 'eu' | 'fedramp', nullable, required
    - `prefix` string, required
    - `accessKeyHint` string, required
    - `datasets` string[], required
    - `intervalMinutes` integer, required
    - `state` 'active' | 'paused' | 'failing', required
    - `consecutiveFailures` integer, required
    - `lastError` string, nullable, required
    - `lastRunAt` string, nullable, required
    - `lastSuccessAt` string, nullable, required
    - `nextRunAt` string, nullable, required
    - `exportedThrough` object, required
      - `events` string, nullable, required
      - `audit` string, nullable, required
    - `createdAt` string, required
    - `createdBy` object, required
      - `id` string, required
      - `name` string, nullable, required

## Other responses

- `401`: No key or token, or it expired or was revoked.
- `403`: The key or token lacks the scope (`insufficient_scope`), or the action is not allowed.
- `429`: Too many requests; wait for Retry-After.

---

[API](https://skmtc.dev/50heads/apis/50heads-api.md) · [All operations](https://skmtc.dev/50heads/apis/50heads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/50heads/apis/50heads-api/revisions/20175e8b00e3?raw)
