---
title: "List issues"
method: GET
path: "/v1/sync/issues"
tags: ["Issues"]
---

# List issues

`GET /v1/sync/issues`

## Request

- Base URL: `https://api.whalesync.com`
- URL: `https://api.whalesync.com/v1/sync/issues`
- Auth: HTTP bearer

One sync's unresolved issues, newest first. `sync` is required; narrow further with `type`.

## Query parameters

- `sync` string, required
- `type` 'connection' | 'record' | 'webhook' | 'sync_preview' | 'other'
- `limit` integer
- `cursor` string

## Response `200`

A page of issues, newest first.

- IssueList
  - `data` Issue[], required
    - `id` string, required
    - `sync_id` string, nullable, required
    - `type` 'connection' | 'record' | 'webhook' | 'sync_preview' | 'other', required
    - `code` string, required: A generic category code.
    - `message` string, nullable, required
    - `connector` string, nullable, required
    - `remediation` IssueRemediation, required
      - `explanation` string, required: What the issue means. May contain Markdown.
      - `suggested_action` string, nullable, required: The concrete step to take, if there is one. May contain Markdown.
      - `links` IssueRemediationLink[], required
        - `name` string, required
        - `url` string, uri, required
    - `table` IssueTable, required
      - `id` string, required
      - `remote_id` string, required: The table id in the connector, stable across renames.
      - `name` string, required
    - `record` IssueRecord, required
      - `id` string, required: The record's status document id.
      - `remote_id` string, nullable, required: The record id in the connected app.
      - `name` string, nullable, required: A display name for the record, if one is known.
      - `url` string, uri, nullable, required: Opens the record in the connected app.
    - `fields` IssueField[], required: The fields the connected app rejected, when it said which ones. Empty when it did not, or for issues that are not about one record.
      - `id` string, required
      - `remote_id` string, required: The field id in the connector, stable across renames.
      - `name` string, required
    - `occurrence_count` number, required: How many times this issue has recurred.
    - `first_seen_at` string, date-time, required
    - `last_seen_at` string, date-time, required
    - `app_url` string, uri, required: The issue in the Whalesync app, for a person looking closer — nothing here needs their attention.
  - `has_more` boolean, required: Whether more issues follow this page.
  - `next_cursor` string, nullable, required: Pass back as `cursor` to fetch the next page.

## Other responses

- `401`: The API key is missing, invalid, or revoked (`missing_api_key`, `invalid_api_key`). Carries a `required_action` linking a person to key creation, naming the smallest scope this endpoint needs.
- `403`: The key's scope does not allow this call (`insufficient_scope` on a mutation with a `read` key).
- `429`: Rate limit exceeded. Wait for `Retry-After` seconds.

---

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