> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wellapp.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Cards

> Workspace-scoped, cursor-paginated list of `card` records. Served by the generic read-only resource handler over the data-views pipeline (Hasura row-level security).

## Filtering & sorting on related objects

Filter and sort on a **related (included) object** by nesting into the relationship — the same relationships you pass to `include`.

* **To-one** relations nest directly: `{ "issuer": { "name": { "_eq": "Acme" } } }`, and sort by a dot-path: `"orderBy": { "field": "issuer.name", "direction": "asc" }`.
* **To-many** relations must be quantified with `_some`, `_every`, or `_none`: `{ "items": { "_some": { "quantity": { "_gt": 1 } } } }`. They are **not** directly sortable (a to-many sort needs an aggregate proxy).
* **Composite** `composite_*` columns are virtual — filter and sort on their underlying source fields, not on the composite.

Workspace row-level security applies at every hop, so a related-object filter never widens your tenant scope. Full operator set, deep-nesting rules, and pagination notes: [Filtering & sorting](/api-reference/filtering-and-sorting).

This resource's related objects (the ones you can `include`) and how to filter or sort on each:

| Relationship | Cardinality        | Filter on a field                             | Sort by a field                 |
| ------------ | ------------------ | --------------------------------------------- | ------------------------------- |
| `company`    | to-one (company)   | `{ "company": { "name": { "_eq": … } } }`     | `"field": "company.name"` ✅     |
| `people`     | to-one (people)    | `{ "people": { "full_name": { "_eq": … } } }` | `"field": "people.full_name"` ✅ |
| `workspace`  | to-one (workspace) | `{ "workspace": { "name": { "_eq": … } } }`   | `"field": "workspace.name"` ✅   |

Replace `field_name` with any field of the related object. See its object-reference page for the full field list.

**Filter by a to-one relation** (and sort by it):

```json theme={null}
{
  "root": "cards",
  "whereClause": { "company": { "name": { "_ilike": "%acme%" } } },
  "orderBy": { "field": "company.name", "direction": "asc" }
}
```


## OpenAPI

````yaml GET /v1/cards
openapi: 3.1.0
info:
  title: Well Document API
  version: 1.0.0
  description: API for uploading and managing financial documents in the Well platform
servers:
  - url: https://api.wellapp.ai
security: []
paths:
  /v1/cards:
    get:
      tags:
        - Records read endpoints
      summary: List Cards
      description: >-
        Workspace-scoped, cursor-paginated list of `card` records. Served by the
        generic read-only resource handler over the data-views pipeline (Hasura
        row-level security).
      operationId: listCards
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            maximum: 200
          description: Page size (max 200).
        - name: cursor
          in: query
          schema:
            type: string
          description: Opaque keyset cursor; omit for the first page.
        - name: orderBy
          in: query
          schema:
            type: string
          description: Field to order by.
        - name: direction
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: workspaceId
          in: query
          schema:
            type: string
            format: uuid
          description: Optional explicit workspace scope (Firebase-authenticated callers).
      responses:
        '200':
          description: A page of card records.
          content:
            application/json:
              example:
                data:
                  - type: card
                    id: uuid
                    attributes: {}
                meta:
                  total: 0
                  count: 0
                links:
                  next: null
        '401':
          description: Unauthenticated.
        '403':
          description: Workspace scope not permitted.

````