---
title: "Discover streams"
method: GET
path: "/api/{workspaceId}/sources/discover"
tags: ["Syncs"]
---

# Discover streams

`GET /api/{workspaceId}/sources/discover`

## Request

- Base URL: `https://use.jitsu.com`
- URL: `https://use.jitsu.com/api/{workspaceId}/sources/discover`
- Auth: HTTP bearer

Asks the connector to list available streams for the given service (source). Returns the cached catalog when available; a first call (or `refresh=true`) triggers an async fetch and returns `{ ok: false, pending: true }` — poll until `ok: true` and `catalog` is populated. `force=true` bypasses the cache entirely.

## Path parameters

- `workspaceId` string, required

## Query parameters

- `serviceId` string, required
- `refresh` string
- `force` string

## Response `200`

OK

- object
  - `ok` boolean, required
  - `pending` boolean
  - `catalog` object
  - `error` string

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `403`: Forbidden — no access to this workspace, or the workspace's plan does not include this feature
- `500`: Internal server error

---

[API](https://skmtc.dev/jitsu/apis/jitsu-api.md) - [All operations](https://skmtc.dev/jitsu/apis/jitsu-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jitsu/apis/jitsu-api/revisions/f6b8702d246f?raw)
