---
title: "List Deals"
method: GET
path: "/v1/deals"
---

# List Deals

`GET /v1/deals`

List CRM deals available to the API key's organization.

Requires the **Export** permission (`read` scope). Results use cursor-based
pagination.

## Query parameters

- `name` string, nullable — Filter deals by name (case-insensitive partial match)
- `stage` string, nullable — Filter by pipeline stage name (case-insensitive partial match)
- `closed` boolean, nullable — Filter by closed status: true for won/lost deals, false for open
- `owner` string, nullable — Filter by deal owner name (case-insensitive partial match)
- `closeDateBefore` string, nullable — Upper bound for close date (ISO 8601, e.g. 2025-06-30T00:00:00Z)
- `closeDateAfter` string, nullable — Lower bound for close date (ISO 8601)
- `amountMin` number, nullable — Minimum deal amount
- `amountMax` number, nullable — Maximum deal amount
- `lastActivityBefore` string, nullable — Upper bound for last activity date (ISO 8601)
- `lastActivityAfter` string, nullable — Lower bound for last activity date (ISO 8601)
- `limit` integer — Maximum number of results per page (1-50)
- `cursor` string, nullable — Opaque pagination cursor from a previous response

## Response `200`

Successful Response

- ListDealsResponse
  - `deals` DealListItem[], required
    - `dealId` string, required
    - `name` string, nullable
    - `accountName` string, nullable
    - `stage` string, nullable
    - `pipeline` string, nullable
    - `amount` number, nullable
    - `closeDate` string, date-time, nullable
    - `closed` boolean, nullable
    - `createdDate` string, date-time, nullable
    - `lastActivityDate` string, date-time, nullable
    - `owner` DealOwner
      - `name` string, nullable
      - `email` string, nullable
  - `pagination` PaginationInfo, required — Cursor-based pagination metadata returned alongside list responses. All public-API list endpoints emit the same shape: pass ``next_cursor`` back as the ``cursor`` query parameter to fetch the next page; check ``has_more`` to know whether more pages exist.
    - `nextCursor` string, nullable
    - `hasMore` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/sybill/apis/sybill-api.md) · [All operations](https://skmtc.net/sybill/apis/sybill-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sybill/sybill-api/revisions/f499ec011b17/schema)
